2015-12-04 34 views
-1

我有一個存儲過程,其中插入一個語句並返回@@標識。@@身份每個插入返回相同的值

此@@ Identity始終返回1.將@@ Idnetity移除到Identity_Scope時,它將返回正確的期望值,該期望值始終增加1,所以這很好。但問題是。爲什麼@@ Identity列正在返回1.

我檢查並刪除了所有的觸發器,並檢查了所有的功能,但不知道爲什麼我用@@ Identity得到1。似乎有一個表被截斷,然後插入一個值。

任何線索爲什麼@@ Identity始終返回1。是否有服務器設置正在做些什麼?

+1

顯示您的代碼。可能你以錯誤的方式使用'@@ identity' – lad2025

+1

我推薦你也使用SCOPE_IDENTITY() – SubqueryCrunch

+0

愚蠢的問題:你插入數據的表是否有一個'IDENTITY'列? –

回答

0

請注意:

  • 的@@ IDENTITY函數返回的同 會議創建的最後一個身份。
  • scope_identity()函數返回在同一個會話和同一個作用域中創建的最後一個標識 。
  • ident_current(Name)返回爲任何會話中的特定 表或視圖創建的最後一個標識。

因此,請將您的代碼發送給我們,以獲得更好的幫助。您可能以錯誤的方式使用@@身份。