2013-10-04 63 views
2

抱歉,如果這個問題是愚蠢的,但我似乎無法找到答案。剛開始使用SQL。我正在閱讀Get the last inserted row ID (with SQL statement)的答案,看起來SCOPE_IDENTITY是「最新插入值」。該操作是否在插入後立即鎖定,因爲如果不是,那麼另一個新插入的行可能會成爲插入後立即插入的東西,我打算獲取ID的ID。同步問題與SCOPE_IDENTITY()

感謝您的幫助!

+4

它爲您提供**最後插入的ID ** **範圍** - 例如如果另一個用戶/連接正在插入某個內容,則不會獲得該ID - 您將獲得您插入的**最後一個ID **。 –

+0

我明白了,謝謝!對不起,我顯然甚至不知道要搜索什麼! SCOPE的使用現在有很多意義! – yifanwu

+0

確保您擁有適用於您的SQL Server版本的最新修補程序。有些人使用SCOPE_IDENTITY()會引起一些煩人的錯誤。 – StingyJack

回答

5

打通SQL查詢最新插入的行信息,你有三種選擇:

@@IDENTITY:它返回在當前會話中的任何表內所生成的最後一個標識值,在所有範圍

SCOPE_IDENTITY:返回爲當前會話中的任何表和當前範圍生成的最後一個標識值。

IDENT_CURRENT:它返回在任何會議的特定表和任何範圍

+1

謝謝噸的解釋! – yifanwu