1

私は ASP.NET MVC3 と Entity Framework をデータベースの最初のアプローチで使用しています。ID(キー)、番号、および説明の列を持つテーブルがあります。アイテムの挿入後に番号を生成する必要があります。必要な番号を生成するトリガーの代わりに作成しました(データベースに既に存在する最後の番号に依存します)。問題は次のとおりです。ユーザーがアイテムを同時に挿入すると、両方のケースの数が同じになります。したがって、挿入された両方のアイテムに対してトリガーが発生し、トリガー選択内では、既に存在する同じ最後の数のアイテムが返されます。

この種の問題を解決するためのベストプラクティスは何ですか? ありがとう。

4

1 に答える 1

1

私はこれがあなたを助けると信じています。

http://www.sqlteam.com/article/custom-auto-generated-sequences-with-sql-server

また、SQL Server 2012 を使用している場合は、SQL シーケンスと呼ばれる新しい機能があります。これは、Oracle データベースが長い間持っていたものです。

ギャップのないこれらの数値が必要な場合は、テーブルをロックし (書き込みを防止)、ク​​エリを実行し、行を max(number) で更新してロックを解除することをお勧めします。

于 2012-11-29T12:30:02.820 に答える