Suj*_*osh 2 database sql-server sql-server-2008
数据库:SQL Server 2008
有没有办法让insert语句在SQL Server中返回一个值,
有类似的问题
从insert语句返回一个值,该语句讨论ORACLE.
我没有太多的数据库工作,也没有太多了解ORACLE/SQL Server,所以很遗憾再次问它.
为简单起见,我举一个小例子:
桌子EmpDetails
有EmpiD
和EmpName
.数值EmpID
由数据库自动生成.
INSERT INTO EMPDETAILS VALUES("John")
Run Code Online (Sandbox Code Playgroud)
现在我想得到EmpID
与约翰相关的价值
我不想要存储过程,我只想要一个SQL语句.
是的 - 您可以在INSERT语句中使用鲜为人知且很少使用的OUTPUT子句
INSERT INTO dbo.YourTable(col1, col2, col3, ...., ColN)
OUTPUT Inserted.Col1, Inserted.Col5, Inserted.ColN
VALUES(val1, val2, val3, ....., valN)
Run Code Online (Sandbox Code Playgroud)
这将返回一组正常的数据,您可以根据需要进行处理.
正如MSDN文档所示,如果需要,您还可以将OUTPUT值发送到例如表变量或临时表中供以后使用.
要回答您更新的问题,请使用以下命令:
INSERT INTO dbo.EMPDETAILS(EmpName)
OUTPUT Inserted.EmpID
VALUES("John")
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
9299 次 |
最近记录: |