Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

SCOPE_IDENTITY() para GUIDs?


Você pode obter o GUID de volta usando OUTPUT. Isso também funciona quando você está inserindo vários registros.
CREATE TABLE dbo.GuidPk (
    ColGuid uniqueidentifier NOT NULL DEFAULT NewSequentialID(),
    Col2    int              NOT NULL
)
GO

DECLARE @op TABLE (
    ColGuid uniqueidentifier
)

INSERT INTO dbo.GuidPk (
    Col2
)
OUTPUT inserted.ColGuid
INTO @op
VALUES (1)

SELECT * FROM @op

SELECT * FROM dbo.GuidPk

Referência:Explorando a cláusula OUTPUT do SQL 2005