获取最后插入的行主键

时间:2013-10-05 13:59:17

标签: sql sql-server sql-server-2008

如何获取最后插入的行的主键?

P.S注意,主键的类型为VARCHAR,因此SCOPE_IDENTITY()对我不起作用..

我发现了这个问题:How can I get the last inserted primary key?但我无法理解他在说什么

  

插入T   输出inserted.pk   值('新项');

任何人都可以指导我这个,因为我是SQL Server的新手并且无法理解这一点吗?

感谢。

1 个答案:

答案 0 :(得分:0)

您必须声明一个表变量,例如:

declare @newIds table(id nvarchar(255));

然后插入插入项目的表格输出,如下所示:

insert into DestinationTable(col1,col2)
   output inserted.Key into newIds 
select
   col1,col2
from
   SourceTable

[Key]应该是您的PrimaryKey列的名称。

此后所有新密钥都将出现在@newIds表中。