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

Returnerer en værdi fra en INSERT-sætning i SQL Server 2008

Ja - du kan bruge den lidt kendte og lidt brugte OUTPUT-klausulen i din INSERT-sætning

INSERT INTO dbo.YourTable(col1, col2, col3, ...., ColN)
OUTPUT Inserted.Col1, Inserted.Col5, Inserted.ColN
VALUES(val1, val2, val3, ....., valN)

Dette returnerer et normalt sæt data, som du kan håndtere efter behov.

Som MSDN-dokumenterne viser, kan du også sende OUTPUT-værdierne ind i f.eks. en tabelvariabel eller temp-tabel til senere brug, hvis du har brug for det.

For at besvare dit opdaterede spørgsmål, brug dette:

INSERT INTO dbo.EMPDETAILS(EmpName)
OUTPUT Inserted.EmpID
VALUES("John")



  1. MySQL:Begrænsning af et sæt kolonner, så mindst én ikke er NULL

  2. Vil have denne enkle forespørgsel til at sløjfe

  3. Lagret procedure med valgfri WHERE-parametre

  4. Kapacitetsplanlægning for MySQL og MariaDB - Dimensionering af lagerstørrelse