Я хочу дать уникальный идентификатор для каждого оператора вставки, который я делаю, поэтому я вижу, какие строки были вставлены вместе. Я предпочитаю, чтобы уникальный «идентификатор вставки» начинался с 1 и увеличивался на один, как IDENTITY(1,1)
для строк.Как создать уникальный идентификатор для каждого оператора в SQL Server?
Есть ли простой способ, например, IDENTITY
?
CREATE TABLE [dbo].[factTrade]
(
[ID] [int] IDENTITY(1,1) NOT NULL,
[insertedID] [int] NOT NULL,
[quantity] [int] NOT NULL,
[price] [decimal](20, 10) NOT NULL
)
INSERT INTO [dbo].[factTrade] ([insertedID], [quantity], [price])
VALUES (1, 6, 2.5), (1, 4, 3.7), (1, 3, 4.1), (1, 7, 8.5),
INSERT INTO [dbo].[factTrade] ([insertedID], [quantity], [price])
VALUES (2, 5, 5.2), (2, 1, 4.6)
Какую бы разницу между колонкой 'ID' и' insertId'? – Lamak
Почему бы не просто создать столбец DateCreated? Это будет столбец datetime, который не имеет значения NULL с по умолчанию GETDATE(). В противном случае вам придется пройти через много усилий, чтобы выполнить что-то подобное. Вам нужно будет использовать последовательность и, скорее всего, создать вместо триггера, чтобы вы могли управлять каждой вставкой. –
В SQL Server ** 2012 ** и новее я бы использовал 'SEQUENCE' для выдачи уникальных порядковых номеров для каждой вставки. –