MSSQL Get Last Inserted Index (last auto-incremental Number) —在MSSQL 的預設程序中取出自動遞增數值

今日所寫的網誌主要是用來提醒自己在MSSQL 中怎樣可以取得 Auto-Increment Number因為每當要建立一個新的Stored Procedure 的 Insert 時..我常常會忘記怎麼在MSSQL 中取得 這個剛剛寫入資料的Auto-Increment Number…又要到網上找資料..或在之前寫下來的Stored procedure 上找回這一段Code

其實這段SQL Code 十分簡單…但總是忘了怎樣寫的…
IF (@@ERROR = 0) SELECT @ID= SCOPE_IDENTITY()

IF (@@ERROR = 0)– 是用來檢查在之前執行的SQL 語法有沒有錯誤
如果沒有的@@ERROR 的數值會等如 0
之後我會便可以用  SCOPE_IDENTITY() 來取得剛剛 Insert 的資料Record
的Auto-increment Number 了

E.G.

DECLARE @ID INT

INSERT INTO TABLE1
(Field1, Field2)
VALUES
(‘Field1’, ‘Field2’)

IF (@@ERROR = 0) SELECT @ID= SCOPE_IDENTITY()

Hope you find it useful

Leave a Reply