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

Bedste måde at få PK Guide af indsat række

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.



  1. PostgreSQL-loganalyse med pgBadger

  2. Sådan tjekker du hvilke låse der holdes på et bord

  3. Hvordan RLIKE virker i MariaDB

  4. Aktiver SQL Server Agent via SSMS