Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

SCOPE_IDENTITY() pour les GUID ?

Vous pouvez récupérer le GUID en utilisant OUTPUT. Cela fonctionne également lorsque vous insérez plusieurs enregistrements.

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

Référence :Explorer la clause OUTPUT de SQL 2005