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

Restituzione di un valore da un'istruzione INSERT in SQL Server 2008

Sì, puoi utilizzare la poco conosciuta e poco utilizzata clausola OUTPUT nella tua dichiarazione INSERT

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

Questo restituisce un normale insieme di dati, che puoi gestire in base alle tue esigenze.

Come mostrano i documenti MSDN, puoi anche inviare i valori OUTPUT ad es. una variabile di tabella o una tabella temporanea per un uso successivo, se necessario.

Per rispondere alla tua domanda aggiornata, usa questo:

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