Scrollbare Cursor und Transaktionsisolation
In der folgenden Tabelle sind die Faktoren aufgeführt, die die Sichtbarkeit von Änderungen beeinflussen.
Vorgenommene Änderungen von: | Die Sichtbarkeit hängt von: |
---|---|
Cursor | Cursortyp, Cursorimplementierung |
Andere Anweisungen in derselben Transaktion | Cursortyp |
Anweisungen in anderen Transaktionen | Cursortyp, Transaktionsisolationsstufe |
Diese Faktoren werden in der folgenden Abbildung gezeigt.
In der folgenden Tabelle wird die Fähigkeit jedes Cursortyps zusammengefasst, Änderungen von sich selbst, von anderen Vorgängen in einer eigenen Transaktion und von anderen Transaktionen zu erkennen. Die Sichtbarkeit der letzten Änderungen hängt vom Cursortyp und der Isolationsebene der Transaktion ab, die den Cursor enthält.
Cursortyp\Aktion | Self | Besitzer Txn |
Othr Txn (RU[a]) |
Othr Txn (RC[a]) |
Othr Txn (RR[a]) |
Othr Txn (S[a]) |
---|---|---|---|---|---|---|
Statisch | ||||||
EINF | Vielleicht[b] | Nein | Nr. | Nr. | Nr. | Nein |
Aktualisieren | Vielleicht[b] | Nein | Nr. | Nr. | Nr. | Nein |
Löschen | Vielleicht[b] | Nein | Nr. | Nr. | Nr. | Nein |
Keysetgesteuert | ||||||
EINF | Vielleicht[b] | Nein | Nr. | Nr. | Nr. | Nein |
Aktualisieren | Ja | Ja | Ja | Ja | Nein | Nein |
Löschen | Vielleicht[b] | Ja | Ja | Ja | Nein | Nein |
Dynamisch | ||||||
EINF | Ja | Ja | Ja | Ja | Ja | Nein |
Aktualisieren | Ja | Ja | Ja | Ja | Nein | Nein |
Löschen | Ja | Ja | Ja | Ja | Nein | Nein |
[a] Die Buchstaben in Klammern geben die Isolationsebene der Transaktion an, die den Cursor enthält; Die Isolationsstufe der anderen Transaktion (in der die Änderung vorgenommen wurde) ist irrelevant.
RU: Nicht auskommentiert lesen
RC: Zugesichert lesen
RR: Wiederholbares Lesen
S: Serialisierbar
[b] Hängt davon ab, wie der Cursor implementiert wird. Ob der Cursor solche Änderungen erkennen kann, wird über die Option SQL_STATIC_SENSITIVITY in SQLGetInfo gemeldet.