sql >> Base de Datos >  >> RDS >> Sqlserver

Devolver un valor de una instrucción INSERT en SQL Server 2008

Sí, puede usar la cláusula OUTPUT poco conocida y poco utilizada en su declaración INSERT

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

Esto devuelve un conjunto normal de datos, que puede manejar según lo necesite.

Como muestran los documentos de MSDN, también puede enviar los valores de SALIDA a, p. una variable de tabla o una tabla temporal para su uso posterior, si es necesario.

Para responder a su pregunta actualizada, use esto:

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