2010-08-30 96 views
0

我想用一個存儲過程向我的SQL Server數據庫中插入一條記錄,並且 捕獲此插入行的ID(SCOPE_IDENTITY())以在另一個插入中使用它命令。使用SCOPE_IDENTITY執行兩個INSERT和一個存儲過程

因爲我想執行那兩個select命令一個接一個,如果一個沒有通過另一個沒有通過呢!

任何想法?

謝謝你幫助我!

+1

我認爲你的問題有點混亂。您正嘗試向表中插入一行,然後在第一次插入中使用自動生成的ID插入另一個表中的另一行,然後從兩個表中選擇兩行?你是這個意思嗎? – JPReddy 2010-08-30 05:41:10

回答

1

你需要做這樣的事情:

DECLARE @NewID INT 

INSERT INTO dbo.FirstTable(Col1, Col2, ...., ColN) 
    VALUES(Value1, Value2, ....., ValueN) 

SELECT @NewID = SCOPE_IDENTITY() 

INSERT INTO dbo.SecondTable(IDColumn, ColA, ColB, .., ColZ) 
    VALUES(@NewID, ValueA, ValueB, ...., ValueZ) 

這應該插入的第一組數據爲dbo.FirstTable,抓住新創建的ID爲@NewID,然後插入使用新的ID值數據的第二批。

相關問題