Du kan bruge OUTPUT-funktionen til at returnere standardværdierne til en parameter.
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
Jeg må dog sige, vær forsigtig med at bruge en unik identifikator som en primær nøgle. Indeksering på en GUID er ekstremt dårlig ydeevne, da alle nygenererede guider skal indsættes i midten af et indeks og sjældent bare tilføjes i slutningen. Der er ny funktionalitet i SQL2005 til NewSequentialId(). Hvis uklarhed ikke er påkrævet med dine guider, er det et muligt alternativ.