2011-01-10 13 views

答えて

3

SCOPE_IDENTITYを使用します。 INSERTがID挿入を実行するトリガーを起動する必要がある場合、間違った値(つまり、トリガーの挿入によって生成された値)が@@ identityから取得されます。

+0

+1ため、その後何もないため。 –

4

@@ Identityは現在のスコープに限定されていないので、あなたのバージョンがこれを提供している場合は通常、SCOPE_IDENTITYほど良くありません。 別のテーブルの異なるspからのものであっても、最新のIDを取得します。

Pinal DaveはここIDENTITY製品の簡単な説明があります。 http://blog.sqlauthority.com/2007/03/25/sql-server-identity-vs-scope_identity-vs-ident_current-retrieve-last-inserted-identity-of-record/

1

@@ IDENTITYは、任意のレコードのために挿入された最後のID値です。ユーザーの並行性が高くなると、間違ったID値になります。つまり、別の要求が挿入されたばかりの値が取得されます。

現在のスコープに最後に挿入されたID値には、SCOPE_IDENTITYを使用します。

0

はちょうどこの上で私のfavoriate artilceを追加する場合は、そのタイトルトリガビットのための「Identity Crisis

関連する問題