2009-05-06 17 views
4

私のデータベースには、自動増分主キーID「ID」と通常の「TIMESTAMP列」を持つ親テーブルがあります。親のID列を参照する外部キーを持つ子テーブルがあります。SQL Server:ストアドプロシージャ内の自動インクリメントIDを取得しますか?

新しい列を親データベースと子データベースの両方に挿入するストアドプロシージャを作成したいとします。子「ID」列を新しい自動増分親「ID」列と等しく設定するにはどうすればよいですか?これには別途必要ですか:

SELECT TOP 1 * FROM PARENT_TABLE 

別の方法がありますか?

+0

SCOPE_IDENTITYを使用する場合は、ドキュメント(http://msdn.microsoft.com/en-us/library/ms190315(SQL.90).aspx)に記載されている注意事項を必ずお読みください。特に挿入しているテーブルにトリガがある場合は特にそうです。 –

答えて

8

SCOPE_IDENITY()から取得できます。例:

declare @myid int 
INSERT INTO table (field) VALUES ('value') 
SELECT @myid = SCOPE_IDENTITY() 
0

select scope_identity();

関連する問題