Bagikan melalui


Kursor yang Dapat Digulir dan Isolasi Transaksi

Tabel berikut mencantumkan faktor-faktor yang mengatur visibilitas perubahan.

Perubahan yang dibuat oleh: Visibilitas bergantung pada:
Cursor 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.

Faktor-faktor yang mengatur visibilitas perubahan

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. Tidak. Tidak. Tidak. Tidak.
Update Mungkin[b] Tidak. Tidak. Tidak. Tidak. Tidak.
Delete Mungkin[b] Tidak. Tidak. Tidak. Tidak. Tidak.
Dikendalikan oleh Keyset
Sisipkan Mungkin[b] Tidak. Tidak. Tidak. Tidak. Tidak.
Update Yes Yes Yes Yes Tidak. Tidak.
Delete Mungkin[b] Yes Yes Yes Tidak. Tidak.
Dinamis
Sisipkan Yes Yes Yes Yes Yes Tidak.
Update Yes Yes Yes Yes Tidak. Tidak.
Delete Yes Yes Yes Yes Tidak. 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 tanpa komitmen

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.