@@ IDENTITY vs SCOPE_IDENTITY()vs IDENT_CURRENT [sql server 2005]

时间:2010-01-28 11:32:22

标签: sql-server-2005 identity-column

我应该使用哪个来获取sql server 2005中最后插入的记录ID?

我搜索了stackoverflow,我发现了这个,

SQL: How to get the id of values I just INSERTed?

评论最佳答案:

在sql server 2005中存在SCOPE_IDENTITY()的已知错误,不确定2008年,OUTPUT子句可以在必要时返回一组ID ...

Select SCOPE_IDENTITY() as Id from Table

我是uisng sql server 2005 ...任何建议

2 个答案:

答案 0 :(得分:4)

触发器

使用@@identity依赖于数据库中没有触发器在其他位置创建记录的事实。

如果您创建了一个记录但是触发器然后为创建创建了一个日志条目,@@identity将返回日志表中日志条目的id。

答案 1 :(得分:0)

我不完全确定SCOPE_IDENTITY()中的这些“知道错误”应该是什么。我目前唯一知道的是:Six reasons you should be nervous about parallelism作为第一点提到。