34
可能重複:
SQL Server Output Clause into a scalar variable如何將插入的輸出值分配給sql server中的變量?
DECLARE @id int
INSERT INTO MyTable(name)
OUTPUT @id = Inserted.id
VALUES('XYZ')
我試圖像上面。這怎麼可能?
可能重複:
SQL Server Output Clause into a scalar variable如何將插入的輸出值分配給sql server中的變量?
DECLARE @id int
INSERT INTO MyTable(name)
OUTPUT @id = Inserted.id
VALUES('XYZ')
我試圖像上面。這怎麼可能?
使用表變量獲得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
感謝先生,是不是可以直接分配給int變量? –
不,你不能使用局部變量。如果使用上面的代碼,則可以訪問數據並將表中的值設置爲變量 –
@RakeshHolkar - INSERT語法允許插入多條記錄,因此OUTPUT語法必須能夠處理多條記錄。因此,即使您只插入一條記錄,OUTPUT也會向您返回一組數據。即使該集合只有一個字段,但它是一個集合,而不是一個整數。 – MatBailie