sql >> Database teknologi >  >> RDS >> Sqlserver

SCOPE_IDENTITY() for GUID'er?

Du kan få GUID'en tilbage ved at bruge OUTPUT. Dette fungerer også, når du indsætter flere poster.

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

Reference:Udforskning af SQL 2005's OUTPUT-klausul



  1. Hvad er den hurtigste måde at masseindsætte en masse data i SQL Server (C#-klient)

  2. Hvordan viser jeg alle tabeller i et skema i Oracle SQL?

  3. Hvordan returnerer man et resultatsæt/markør fra en anonym Oracle PL/SQL-blok, der udfører Dynamic SQL?

  4. Hvordan angiver jeg datoen, når jeg skriver SQL-forespørgsel fra SQL Server, der er knyttet til Oracle?