1

ここのドキュメントに少し混乱しています。私はトランザクションを持っています。

  1. 取引開始
  2. いくつかの更新を行います
  3. いくつかの選択を行います
  4. さらにいくつかの更新を行います
  5. 専念

ステップ3の選択でステップ2の更新の結果を確認したいのですが、すべてをロールバックできるようにしたいと考えています。

コミットされた読み取りは、選択がコミットされたデータのみを表示することを暗示しているようであり、反復可能な読み取りは、後続のすべての選択が最初の選択時に存在していたのと同じデータを参照することを暗示しているようです。したがって、私の更新は無視されます。read uncommittedは正しいことをしているように見えますが、「しかし、行の以前のバージョンが使用される可能性があります」 - これも受け入れられません。

ここで本当に私の唯一の希望はシリアル化可能ですか?

ここでドキュメントに取り組んでいます

4

1 に答える 1

2

トランザクション分離レベルは、同時トランザクション間の相互作用のみを説明します。どの分離レベルでも、同じトランザクション内で更新したものは、そのトランザクションから再度選択すると更新されます。

あなたの場合の適切な分離レベルは読み取りコミットされているように見えるため、いつでもロールバックでき、コミットされていないデータは他のトランザクションでは表示されません。

于 2009-10-06T08:55:18.997 に答える