スクロール可能なカーソルとトランザクション分離

次の表型リストに、変更の可視性を制御する要因を示します。

以下の変更が加えられた: 以下の可視性に依存する:
Cursor カーソルの種類、カーソルの実装
同じトランザクション内の他のステートメント カーソルの種類
他のトランザクションのステートメント カーソルの種類、トランザクション分離レベル

これらの要因を次の図に示します。

Factors governing the visibility of changes

次の表は、カーソルの種類ごとに、それ自体、それ自体のトランザクション内の他の操作、およびその他のトランザクションによって行われた変更を検出する機能をまとめたものです。 後者の変更の可視性は、カーソルの種類と、カーソルを含むトランザクションの分離レベルによって異なります。

カーソルの種類・アクション 自己 所有

Txn
Othr

Txn

(RU[a])
Othr

Txn

(RC[a])
Othr

Txn

(RR[a])
Othr

Txn

(S[a])
Static
Insert Maybe[b] いいえ 番号 番号 番号 いいえ
更新する Maybe[b] いいえ 番号 番号 番号 いいえ
削除 Maybe[b] いいえ 番号 番号 番号 いいえ
キーセット ドリブン
Insert Maybe[b] いいえ 番号 番号 番号 いいえ
更新する はい イエス イエス 有効 No いいえ
削除 Maybe[b] はい イエス 有効 No いいえ
動的
Insert はい イエス イエス イエス 有効 いいえ
更新する はい イエス イエス 有効 No いいえ
削除 あり イエス イエス 有効 No いいえ

[a] かっこ内の文字は、カーソルを含むトランザクションの分離レベルを示します。他のトランザクション (変更が行われた) の分離レベルは関係ありません。

RU:Read uncommitted (コミットされていないものの読み取り)

RC: Read committed (コミットされているものの読み取り)

RR: Repeatable read (反復不可能な読み取り)

S: Serializable (シリアル化可能)

[b] カーソルの実装方法によって異なります。 カーソルがこのような変更を検出できるかどうかは、SQLGetInfo の SQL_STATIC_SENSITIVITY オプションを使用して報告されます。