2012-09-24 27 views

回答

68

使用表變量獲得ID

DECLARE @id int 
DECLARE @table table (id int) 
INSERT INTO MyTable(name) 
OUTPUT inserted.id into @table 
VALUES('XYZ') 

SELECT @id = id from @table 
+3

感謝先生,是不是可以直接分配給int變量? –

+3

不,你不能使用局部變量。如果使用上面的代碼,則可以訪問數據並將表中的值設置爲變量 –

+17

@RakeshHolkar - INSERT語法允許插入多條記錄,因此OUTPUT語法必須能夠處理多條記錄。因此,即使您只插入一條記錄,OUTPUT也會向您返回一組數據。即使該集合只有一個字段,但它是一個集合,而不是一個整數。 – MatBailie