2010-07-23 52 views

回答

2

SCOPE_IDENTITY (Transact-SQL)

返回插入在相同的範圍的標識列的最後一個標識值。範圍是一個模塊:存儲過程,觸發器,函數或批處理。因此,如果兩個語句處於相同的存儲過程,函數或批處理中,它們在相同的範圍內。

在這個問題上的一些詳細信息 - How Do You Tell What Next Identity Column Will Be?

而這一次 - SQL Identity (autonumber) is Incremented Even with a Transaction Rollback

+0

但我沒有範圍。我想從沒有使用的表中獲取身份。 – Alex 2010-07-23 05:20:58

+1

@ bochur1 - 抱歉不理解你的評論,該如何不能使用表? – 2010-07-23 05:47:20

+0

好的。從第一個鏈接我得到它: >> SELECT IDENT_CURRENT('mytable')+ IDENT_INCR('mytable')FROM mytable – Alex 2010-07-23 06:19:23

4

您也可以使用以下方式查詢在Management Studio表的當前身份:

DBCC CHECKIDENT('YourTable') 

但沒有按」告訴你任何可靠的關於下一個身份的內容 - 做而不是嘗試自己計算下一個IDENTITY!讓SQL Server處理它,並在插入發生後使用SCOPE_IDENTITY()來抓取它 - 真的,這只是相關的。