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

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

DDD
DDDオリジナル
2025-01-04 22:44:42838ブラウズ

How Can I Efficiently Retrieve Identity Values After Inserting Multiple Records in SQL Server?

複数のレコードの挿入と ID 値の取得

テーブルに複数のレコードを挿入する場合、挿入されたレコードごとに生成された ID 値を取得する必要が生じる場合があります。この場合、テーブル B からテーブル A にレコードを挿入し、挿入されたレコードの ID 値を取得したい場合、カーソルの必要性を排除するソリューションがあります。

SQL Server 2005 では、 OUTPUT 句を利用してこのタスクを実行できます。 OUTPUT 句を使用すると、新しく挿入された行の ID 値を含む、INSERT ステートメントからの出力を受け取るテーブル変数を指定できます。

次に例を示します。

DECLARE @output TABLE (id int)

INSERT INTO A (fname, lname)
OUTPUT INSERTED.ID INTO @output
SELECT fname, lname
FROM B

By OUTPUT 句を使用すると、「@output」という名前のテーブル変数に、挿入されたレコードの ID 値を設定できます。次に、このテーブル変数をクエリして値を取得できます。

SELECT *
FROM @output

このアプローチにより、カーソルや追加のクエリに頼ることなく、複数のレコードを効率的に挿入し、それらの ID 値を取得できます。

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

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