1. ホーム
  2. sql

[解決済み] 最後に挿入された行のIDを取得する(SQLステートメントを使用)【複製

2022-05-05 15:19:21

質問

テーブルに新しいレコードを挿入したときに、新しく作成されたIDを取得したいのですが。

これを読みました。 http://msdn.microsoft.com/en-us/library/ms177564.aspx が、テンポラリテーブルを作成する必要があります。

INSERT文実行後にIDを返したい(INSERTを1回だけ実行することを想定しています)。

1     Joe      Joe
2     Michael  Mike
3     Zoe      Zoe

INSERT文の実行時に、作成されたIDを返したいのですが、4という意味です。

SQLステートメントを使用してそれを行う方法またはそれは不可能であることを私に伝えることができますか?

どのように解決するのですか?

SQL Server テーブルに、型が INT IDENTITY (または BIGINT IDENTITY を使用すると、最新の挿入値を取得することができます。

INSERT INTO dbo.YourTable(columns....)
   VALUES(..........)

SELECT SCOPE_IDENTITY()

これは、別の行を挿入していない限り動作します。 IDENTITY の値は、このスコープのここで引き渡されます。

少なくともあと2つのオプションがあります。 @@IDENTITYIDENT_CURRENT - これらがどのように機能し、どのような点で異なるのか(そして予想外の結果をもたらす可能性があるのか)については、こちらの記事をご覧ください。 ピナル・デイヴによる素晴らしいブログ記事です。 .