1
大家好,我希望獲取所有新插入的Id。實際上,我將數據插入基於外鍵標識的表中。獲取插入表中的多條記錄
Insert into table()
Values(SELECT * FROM table where fId=X)
下面兩個表是一樣的,所以在插入數據後,我想返回了inserterd
大家好,我希望獲取所有新插入的Id。實際上,我將數據插入基於外鍵標識的表中。獲取插入表中的多條記錄
Insert into table()
Values(SELECT * FROM table where fId=X)
下面兩個表是一樣的,所以在插入數據後,我想返回了inserterd
您需要使用OUTPUT
(https://msdn.microsoft.com/en-us/library/ms177564.aspx)子句中你插入的所有標識。這裏有一個工作示例:
DECLARE @tmp TABLE (id INT IDENTITY(1,1), txt VARCHAR(100))
INSERT INTO @tmp (txt)
OUTPUT INSERTED.id
VALUES ('a'),('b')
因此,對於你的查詢 - 這不是一個有效的INSERT語句 - 這將是:
Insert into table()
OUTPUT INSERTED.id_column_you_need_to_be_returned
Values(SELECT * FROM table where fId=X)