SQL Server の自動生成キーへのアクセス
自動生成された ID 列を含む SQL Server テーブルを操作する場合、新しく生成された値を効率的に取得することが重要です。 このガイドでは、SQL Server の組み込み機能を使用したシンプルで効果的な方法を説明します。
解決策:
INSERT ... OUTPUT
ステートメントは、単一の操作内で行を挿入し、同時に生成されたキーを取得する簡潔な方法を提供します。 仕組みは次のとおりです:
<code class="language-sql">INSERT INTO table (name) OUTPUT Inserted.ID VALUES ('bob');</code>
この例では、table
は、ID 列として構成された ID
列、または自動値生成をサポートするデータ型 (GUID など) を使用したテーブルを表します。 OUTPUT
句は、生成された ID
を含む、新しく挿入された行の列を一時的な結果セットに送ります。
Inserted
エイリアスは、この一時的な結果セットへのアクセスを提供し、ID
を使用して Inserted.ID
を取得できるようにします。
実際の応用:
生成された ID
を変数に保存するには、次を使用します:
<code class="language-sql">DECLARE @id INT; INSERT INTO table (name) OUTPUT @id = Inserted.ID VALUES ('bob'); SELECT @id;</code>
このアプローチは ID 列に限定されません。 GUID など、他の自動生成列でも機能します。 例:
<code class="language-sql">INSERT INTO table (guid) OUTPUT Inserted.guid VALUES (NEWID());</code>
これにより、GUID 列を含む行が挿入され、生成された GUID 値がすぐに取得されます。
以上がSQL Server で自動生成されたキーを取得するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。