NEWID() 为关系中的所有记录生成相同的值

NEWID() is generating the same value for all records in a relation

DECLARE @GUID uniqueidentifier 
SET @GUID = NEWID()

INSERT INTO [MetaData Dummy].dbo.xxxx (someid, somename, LastUpdated, RecordSource)
SELECT @GUID, TempCol, GETDATE(), xxx
FROM AP_DevIDs

使用上面的代码,我试图将一个值插入到属性 someid 的每条记录中,它是 uniqueidentifier 类型。但是,使用 NEWID() 函数我在每条记录中得到相同的值,因此显然不是唯一的。

感谢任何帮助,干杯

因为您将值绑定到变量,所以您总是得到相同的值,您需要每行生成它。使用:

INSERT INTO [MetaData Dummy].dbo.xxxx (someid, somename, LastUpdated, RecordSource)
SELECT NEWID(), TempCol, GETDATE(), xxx
FROM AP_DevIDs