sql-server – 获取SQL Server 2008中新插入行的主键
|
我有一堆数据将插入到表中.这个问题是我需要它将主键返回到该表.我不知道是否有这样的事情: insert into TABLE (...) values (...) RETURNING p_key 要么 select p_key from (insert into TABLE (...) values (...)) 我正在为浏览器创建一个解决方法并保存信息,这些信息将或多或少添加一行,然后更新它…但是没有主键,没有办法更新它,因为没有引用它. 我在网上看,通过google发现了一些例子,但是这些例子让我略为混淆. http://en.wikipedia.org/wiki/Insert_(SQL)#Retrieving_the_key http://www.daniweb.com/web-development/databases/ms-sql/threads/299356/returning-identity-of-last-inserted-row-uniqueidentifier 维基百科说SQL Server 2008使用OUTPUT而不是RETURNING,可能使用类似OUTPUT p_key 解决方法如果您正在插入一整行行,则选择SCOPE_IDENTITY()将不会.而SCOPE_IDENTITY也只适用于(数字)标识列 – 有时你的PK是别的…但SQL Server确实有OUTPUT子句 – and it’s very well documented on MSDN! INSERT INTO dbo.Table(columns) OUTPUT INSERTED.p_key,INSERTED.someothercolumnhere ....... VALUES(...) 这些值将被“回显”回到呼叫应用,例如您将在SQL Server Management Studio中的网格中看到它们,或者您可以从C#或VB.NET调用此INSERT语句的结果集读取它们. (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
