NEWID() генерирует одинаковое значение для всех записей в отношении

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(), я получаю одно и то же значение в каждой записи, поэтому, очевидно, не уникален.

Любая помощь приветствуется, ура

1 ответ

Решение

Поскольку вы привязываете значение к переменной, вы всегда получаете одно и то же значение, вам нужно генерировать его для каждой строки. Использование:

INSERT INTO [MetaData Dummy].dbo.xxxx (someid, somename, LastUpdated, RecordSource)
SELECT NEWID(), TempCol, GETDATE(), xxx
FROM AP_DevIDs
Другие вопросы по тегам