ホームページ >データベース >mysql チュートリアル >SQL Server で INSERT 後に自動生成された ID を取得するにはどうすればよいですか?
SQL Server INSERT 操作後の自動生成 ID の取得
SQL Server テーブルに新しいデータを追加するには、自動生成された ID 列が必要になることがよくあります。 このガイドでは、INSERT ステートメントの後に新しく生成された ID を効率的に取得する方法を説明します。 SQL Server の OUTPUT
句は、クリーンなソリューションを提供します。
OUTPUT
条項の解決策
OUTPUT
句を使用すると、新しく挿入された行から返される列を指定できます。これは、自動生成された ID を取得するのに最適です。
構文:
<code class="language-sql">INSERT INTO YourTable (column1, column2, ...) OUTPUT Inserted.IDColumn -- Replace IDColumn with your actual ID column name VALUES (value1, value2, ...);</code>
説明:
Inserted
: 新しく挿入された行を含む一時テーブル。 ターゲットテーブルの構造を反映します。IDColumn
: 自動生成された ID 列の名前。 このプレースホルダーを列の実際の名前に置き換えます。例:
Customers
テーブルがあるとします。
<code class="language-sql">CREATE TABLE Customers ( CustomerID INT IDENTITY(1, 1) PRIMARY KEY, CustomerName VARCHAR(255) NOT NULL );</code>
新しい顧客を挿入して CustomerID
を取得するには、次を使用します:
<code class="language-sql">INSERT INTO Customers (CustomerName) OUTPUT Inserted.CustomerID VALUES ('Acme Corp');</code>
これは、新しく生成された CustomerID
を返します。その後、この値をその後のクエリで使用したり、変数に保存したりできます。
重要な注意: OUTPUT
句は単一の列に限定されません。 OUTPUT
句内でカンマ区切りでリストすることにより、挿入された行から複数の列を取得できます。
以上がSQL Server で INSERT 後に自動生成された ID を取得するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。