私のアプリケーションでは、複数のユーザーが同じ表を読んだり修正したりすることができます。ただし、ある行がユーザーによって変更された場合、他の行はそれ以上使用できなくなるはずです。SQL Server 2008 - ロックされた行を更新しようとすると、エラーを発生させる方法?
私はとのトランザクションを使用しています。分離レベルを参照してください。を読んでください。問題は、ユーザーがテーブル内の行を更新し、別のユーザーが同じ行を更新しようとすると、2番目のトランザクションは最初のトランザクションがROLLBACK/COMMITになるまで待機してから行を更新できます。
私がしたいことは、この状態でエラーを発生させることです.2番目のユーザーはですので、彼はそれほど長く待たなくてもいいです。
どうすればいいですか?
問題は、トランザクションがかなり大きく(いくつかの手順が含まれている)、ロックのためにかなりの時間ユーザーをブロックする可能性があるということです。
はありがとう
「READPAST」、「sp_getapplock」または手作業の論理ロック。 –
編集とコメントの@Ivanに感謝します:) – VictorT