@@ Identity在每个插入上返回相同的值

时间:2015-12-04 07:53:39

标签: sql-server tsql identity

我有一个存储过程,其中插入一个语句并返回@@ Identity。

这个@@ Identity总是返回1.当将@@ Idnetity移除到Identity_Scope时,它返回正确的期望值,该值总是递增1.所以这很好。但问题是。为什么@@ Identity列将返回1.

我检查并删除了所有触发器并检查了所有功能,但不知道为什么我使用@@ Identity获得1。似乎有一个表被截断,然后插入一个值。

任何线索的人为什么@@ Identity会一直返回1。服务器设置是否有效?

1 个答案:

答案 0 :(得分:0)

请注意:

  • @@ identity函数返回在中创建的最后一个标识 会话即可。
  • scope_identity()函数返回最后一个标识 在同一会话和相同范围内创建。
  • ident_current(Name)返回为特定创建的最后一个标识 任何会话中的表格或视图。

因此,请将您的代码发送给我们以获得更好的帮助。您可能以错误的方式使用@@ Identity。