Нам нужна дифференциальная колонка для каждого потребителя. Когда показатель будет добавлен мы вычисляем пуск сгорит после вставки и произведет номер. Тем ме менее каждо потребители начнут с 100 и смогут инкрементировать до 101.102.103,
ID etc. (см. данные) (см. таблицу и пуск ниже) | UserId | aName | aNumber 1 | 1001 | `' | 100 2 | 1001 | `' | 101 3 | 1002 | `b' | 100 4 | 1002 | `b' | 101 5 | 1001 | `' | 102 6 | 1001 | `' | 103 7 | 1002 | `b' | 102
Here будет таблицей: ТАБЛИЦА CREATE [dbo]. [TableA] (ТОЖДЕСТВЕННОСТЬ [удостоверения личности] [int] (1.1) НУЛЕВОЙ, NULL [UserId] [int] НЕ, [aName] [nvarchar] (500) НЕ NULL/> NULL, ГЛАВНЫМ ОБРАЗОМ КЛЮЧА ОГРАНИЧЕНИЮ ПО [PK_TableA] СВЯЗАННОЕ ( [удостоверение личности] ASC ) С (PAD_INDEX =, STATISTICS_NORECOMPUTE =, IGNORE_DUP_KEY =, ALLOW_ROW_LOCKS = ДАЛЬШЕ, ALLOW_PAGE_LOCKS = ДАЛЬШЕ, FILLFACTOR = 90) НА [ГЛАВНЫМ ОБРАЗОМ] ) НА [ГЛАВНЫМ ОБРАЗОМ]
GO
CREATE УНИКАЛЬНО ИНДЕКС NONCLUSTERED [UIX_TableA_aNumber] ДАЛЬШЕ [dbo]. [TableA] ([aNumber], [UserId]) НА [ГЛАВНЫМ ОБРАЗОМ] ON ПУСКА GO
CREATE [t_TableA] [dbo]. УТОЧНЕНИЯ AS ВСТАВКИ FOR [TableA] [TableA] УСТАНОВЛЕННОЕ [TableA] .aNumber = inserted.ID ОТ [TableA], inserted ГДЕ inserted.ID = [TableA] .ID GO
class=
|