sql-server – 从SQL Server 2008中的INSERT语句返回值

前端之家收集整理的这篇文章主要介绍了sql-server – 从SQL Server 2008中的INSERT语句返回值前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
数据库sql Server 2008

有没有办法让insert语句在sql Server中返回一个值,

有类似的问题

Return a value from a insert statement,谈论ORACLE.

我没有太多使用数据库,也没有太多了解ORACLE / sql Server,所以很遗憾再次问到它.

为简单起见,我举一个小例子:

表EmpDetails有EmpiD和EmpName. EmpID的值由数据库自动生成.

INSERT INTO EMPDETAILS VALUES("John")

现在我想获得与John关联的EmpID的值

我不想要存储过程,我只想要一个sql语句.

解决方法

是的 – 您可以在INSERT语句中使用鲜为人知且少用的 OUTPUT clause
INSERT INTO dbo.YourTable(col1,col2,col3,....,ColN)
OUTPUT Inserted.Col1,Inserted.Col5,Inserted.ColN
VALUES(val1,val2,val3,.....,valN)

这将返回一组正常的数据,您可以根据需要处理这些数据.

正如MSDN文档所示,您还可以将OUTPUT值发送到例如如果需要,可以使用表变量或临时表供以后使用.

要回答您更新的问题,请使用以下命令:

INSERT INTO dbo.EMPDETAILS(EmpName)
OUTPUT Inserted.EmpID
VALUES("John")
原文链接:https://www.f2er.com/mssql/80383.html

猜你在找的MsSQL相关文章