私のアプリケーションで一意の識別子が必要です。その目的のために、私はデータベース内に1列の 'unique_id'(BIGINT)と1行しか入っていないテーブルを作成しました アイデアはストアドプロシージャを使って必要なときに次の識別子を取得することです。このようなライン操作は、仕事をするだろう:SQL Server - 1列の更新、ロックが必要ですか?
UPDATE identifier_table SET unique_id = unique_id + 1 OUTPUT INSERTED.unique_id
この操作はアトミックである、または私はセットアップにテーブルの上にロックを必要とするならば、誰かが確認することができ
おかげ
アイデンティティフィールドを使用しない理由は何ですか? – HLGEM
+1からHGLEM、アイデンティティを使用するだけではなく、デナリでシーケンスを使用するのはなぜですか? – Andrew
答えをありがとう!それは同じ目的を果たし、テーブル内に1行しか残さないと思う - アイデンティティ列を更新する方法を考えないでください。私はスペースが最近安いことを実感しています。だから、行を挿入して毎回掃除するほうがいいですか? – Bourgui