@@ IDENTITYを使用してのSQLServerは、問題の新しいIDを取ることが許可されていません

SQLServer最近で@@ IDENTITY ID問題が発生したオンラインいくつか見た後、最新のを取ることが許可され、以下の情報を見つけていない、少し記録します
。「友人は私に彼@@ IDENTITYについての質問をデータベースのストアドプロシージャは、insert文は直ちに通常、これは何も問題はありませんが、問題は実際にIDがSELECTながら、1億人以上に達しているされ、SELECT @@ IDENTITYテイクがちょうど挿入ID値を使用し、存在し、そこにあります@唯一の非常に小さな値(のみ30)@IDENTITYは不可解戻りました。

私はかなりの始まりを理解し、彼は@@ IDENTITY心配しないように求めていない、新たに挿入されたレコードは、IDです。彼は、百万人以上のIDが大きな数であることを特徴とします。ほんの数ダースほど小さいわけではありません。私は最大の限界にアイデンティティ、および2の64の最大パワーの正体ではない、彼は可能性を分析する助けました。彼は、int型の最大はまだ早い、流出からの彼のID 2,147,483,647ですが、リターン@@ IDENTITY値が(ほんの数ダース)非常に小さいと述べました。私は、彼が分析助け、ID値があまりにもリセットされないのですか?彼は今、新たに挿入されたIDが1.7億上にあることを言った、全く言いませんでした。ここでは、私は少しのことを学びました。私は彼がIDENTITYは、テーブルを指定取るためにSCOPE_IDENTITY(TABLE_NAME)関数を使用することが示唆されました。私たちは、以前の経験を持っていた@@それらは現在のテーブルの範囲によって影響されるので、IDENTITYとIDENTITY_CURRENT()は、非常に満足のいくものではありません。通常のトリガーは、@@ IDENTITYを引き起こす可能性がない、正しく値、IDENTITY_CURRENT()にもすることができます。幸いなことに、そこにSCOPE_IDENTITY(TABLE_NAME)機能。この場合、あなただけのこれを使用することができます。それから彼は彼のテーブルにはトリガを持って思い出しました。ああ、遅刻します。私は彼がより良いのトリガーを使用していなかったことを示唆しました。回避すべき。彼は、このトリガは他の方法に置き換えることができると述べました。彼はSCOPE_IDENTITY(TABLE_NAME)機能を試してみて、トリガーを削除します。"

 

出典:HTTP://www.cnblogs.com/mikelij/archive/2010/05/31/1779895.html
----------------
免責事項:この記事はCSDNブロガーであります元の記事の「fend0875」、CC 4.0 BY-SAの著作権契約に従うが、再現し、元のソースのリンクと、この文を添付してください。
オリジナルリンクします。https://blog.csdn.net/fend0875/article/details/73294590

おすすめ

転載: www.cnblogs.com/nnnnnn/p/12002684.html