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语句的结果集读取它们. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- SqlServer2005 自动备份并存储另一电脑上的存储过程函数
- sql-server – FOR XML无法序列化数据,因为它包含字符(0x00
- 浅析SQL存储过程和事务处理
- sqlserver group by with cube
- 查询返回MS SQL Server列出的所有系统存储过程
- sql – ORDER BY和ROW_NUMBER()是否确定?
- sql-server – 从数据库中获取上述普通学生
- sql-server-2005 – 在不使用SQL事件探查器的情况下创建SQL
- sql-server – 在SQL Server中的其他两列之间添加列
- 在SQL Server中获取特定字符之前和之后的所有内容