我想为我所做的每个插入语句提供一个唯一的 ID,这样我就可以看到哪些行被插入在一起。我更喜欢唯一的“插入 ID”从 1 开始,然后增加 1,就像行的 IDENTITY(1,1)
一样。
有没有像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)
最佳答案
这不是您要求的解决方案,但您可以添加具有默认时间戳的列来查找同时插入的所有行。
ALTER TABLE dbo.factTrade
ADD InsertDate DATETIME NOT NULL DEFAULT (GETDATE())
关于sql-server - 如何为SQL Server中的每个插入语句生成唯一的ID?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37440039/