INSERT INTO (...) SELECT ... FROM ...
をやっている自動インクリメントIDを持つテーブルを持っている私が挿入されたIDのリストを取得するための方法はありますか?
私は後に、その後挿入する前に、最大のIDを取得することができ思考と新しいものの間ですべてのものを想定しますが、行はどこか別の場所から挿入されますならば、私が問題に実行することができました。これを行う適切な方法はありますか?
私は、SQL Server 2005の
INSERT INTO (...) SELECT ... FROM ...
をやっている自動インクリメントIDを持つテーブルを持っている私が挿入されたIDのリストを取得するための方法はありますか?
私は後に、その後挿入する前に、最大のIDを取得することができ思考と新しいものの間ですべてのものを想定しますが、行はどこか別の場所から挿入されますならば、私が問題に実行することができました。これを行う適切な方法はありますか?
私は、SQL Server 2005の
使用output句を使用しています。
DECLARE @InsertedIDs table(ID int);
INSERT INTO YourTable
OUTPUT INSERTED.ID
INTO @InsertedIDs
SELECT ...
table
変数を作成し、table
変数にOUTPUT
句を使用します。
OUTPUT inserted.NameOfYourColumnId INTO tableVariable
次に、あなたごtable
変数からSELECT
することができます。
グレート! C#にこの@InsertedIDsを返す方法がある場合は疑問に思いますか? – Icerman
素晴らしい!これはカーソルを宣言することから私を救った! – Alex