Kursor dan Isolasi Transaksi yang Dapat Digulirkan

Tabel berikut mencantumkan faktor-faktor yang mengatur visibilitas perubahan.

Perubahan yang dibuat oleh: Visibilitas bergantung pada:
Kursor Jenis kursor, implementasi kursor
Pernyataan lain dalam transaksi yang sama Tipe kursor
Pernyataan dalam transaksi lain Jenis kursor, tingkat isolasi transaksi

Faktor-faktor ini ditampilkan dalam ilustrasi berikut.

Factors governing the visibility of changes

Tabel berikut ini meringkas kemampuan setiap jenis kursor untuk mendeteksi perubahan yang dibuat dengan sendirinya, oleh operasi lain dalam transaksinya sendiri, dan oleh transaksi lainnya. Visibilitas perubahan terakhir tergantung pada jenis kursor dan tingkat isolasi transaksi yang berisi kursor.

Jenis kursor\tindakan Self Sendiri

Txn
Othr

Txn

(RU[a])
Othr

Txn

(RC[a])
Othr

Txn

(RR[a])
Othr

Txn

(S[a])
Statis
Sisipkan Mungkin[b] Tidak No No No Tidak
Update Mungkin[b] Tidak No No No Tidak
Delete Mungkin[b] Tidak No No No Tidak
Berbasis set kunci
Sisipkan Mungkin[b] Tidak No No No Tidak
Update Ya Ya Ya Ya No Tidak
Delete Mungkin[b] Ya Ya Ya No Tidak
Dinamis
Sisipkan Ya Ya Ya Ya Ya Tidak
Update Ya Ya Ya Ya No Tidak
Delete Ya Ya Ya Ya No Tidak

[a] Huruf dalam tanda kurung menunjukkan tingkat isolasi transaksi yang berisi kursor; tingkat isolasi transaksi lain (di mana perubahan dilakukan) tidak relevan.

RU: Baca tidak dikomit

RC: Baca diterapkan

RR: Bacaan berulang

S: Dapat diserialisasi

[b] Tergantung pada bagaimana kursor diimplementasikan. Apakah kursor dapat mendeteksi perubahan tersebut dilaporkan melalui opsi SQL_STATIC_SENSITIVITY di SQLGetInfo.