Вы можете использовать функцию ВЫХОД, чтобы вернуть значения по умолчанию обратно в параметр.
CREATE TABLE MyTable
(
MyPK UNIQUEIDENTIFIER DEFAULT NEWID(),
MyColumn1 NVARCHAR(100),
MyColumn2 NVARCHAR(100)
)
DECLARE @myNewPKTable TABLE (myNewPK UNIQUEIDENTIFIER)
INSERT INTO
MyTable
(
MyColumn1,
MyColumn2
)
OUTPUT INSERTED.MyPK INTO @myNewPKTable
VALUES
(
'MyValue1',
'MyValue2'
)
SELECT * FROM @myNewPKTable
Я должен сказать, что будьте осторожны, используя уникальный идентификатор в качестве первичного ключа. Индексирование по GUID является крайне низкой производительностью, так как любые новые сгенерированные направляющие должны быть вставлены в середину индекса и редко добавляться в конце. В SQL2005 появилась новая функциональность для NewSequentialId (). Если с вашими гидами не требуется неизвестность, тогда возможная альтернатива.