ホームページ >データベース >mysql チュートリアル >SQL Server に複数のレコードを挿入した後に ID 値を効率的に取得するにはどうすればよいですか?

SQL Server に複数のレコードを挿入した後に ID 値を効率的に取得するにはどうすればよいですか?

Patricia Arquette
Patricia Arquetteオリジナル
2024-12-27 13:30:18986ブラウズ

How to Efficiently Get Identity Values After Inserting Multiple Records in SQL Server?

カーソルを使用せずに複数のレコードを挿入し ID 値を取得する

子テーブル (B) から親テーブル (A) に複数のレコードを挿入するデータ管理における一般的なタスクです。多くの場合、親テーブルに新しく挿入されたレコードに対して生成された ID 値を使用して、子テーブルのレコードを更新する必要が生じます。

Microsoft SQL Server 2005 は、OUTPUT 句を通じてこの要件に対するソリューションを提供します。 OUTPUT 句は、新しく挿入されたレコードの ID 値を取得し、テーブル変数 (@output) に格納します。これにより、カーソルを使用するオーバーヘッドなしで ID 値を効率的に取得できます。

OUTPUT 句の使用法を示すコード スニペットの例を次に示します。

DECLARE @output TABLE (id int)

-- Insert records from table B into table A
Insert into A (fname, lname)
OUTPUT inserted.ID INTO @output
SELECT fname, lname FROM B

-- Retrieve the identity values from @output
select * from @output

上記を実行することにより、コードを実行すると、挿入されたレコードの ID 値が @output テーブル変数に保存されます。この変数は、テーブル B の NewId 列を適切に更新するために使用できます。

Microsoft SQL Server 2005 で複数のレコードを挿入し、その ID 値を取得するには、OUTPUT 句の使用が効率的で簡単な方法です。親テーブルと子テーブルが関係するデータ操作タスクのための、堅牢で保守可能なソリューション。

以上がSQL Server に複数のレコードを挿入した後に ID 値を効率的に取得するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。