微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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.jb51.cc/mssql/80383.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐