Compartir a través de


Cursores desplazables y aislamiento de transacciones

En la tabla siguiente se enumeran los factores que rigen la visibilidad de los cambios.

Cambios realizados por: La visibilidad depende de:
Cursor Tipo de cursor, implementación del cursor
Otras instrucciones de la misma transacción Tipo de cursor
Declaraciones en otras transacciones Tipo de cursor, nivel de aislamiento de transacción

Estos factores se muestran en la ilustración siguiente.

Factores que rigen la visibilidad de los cambios

En la tabla siguiente se resume la capacidad de cada tipo de cursor para detectar los cambios realizados por sí mismo, por otras operaciones en su propia transacción y por otras transacciones. La visibilidad de estos últimos cambios depende del tipo de cursor y del nivel de aislamiento de la transacción que contiene el cursor.

Tipo de cursor\acción Self Poseer

Txn
Othr

Txn

(RU[a])
Othr

Txn

(RC[a])
Othr

Txn

(RR[a])
Othr

Txn

(S[a])
Estático
Insertar Tal vez[b] No No No No No
Update Tal vez[b] No No No No No
Delete Tal vez[b] No No No No No
Impulsado por conjunto de teclas
Insertar Tal vez[b] No No No No No
Update No No
Delete Tal vez[b] No No
Dinámica
Insertar No
Update No No
Delete No No

[a] Las letras entre paréntesis indican el nivel de aislamiento de la transacción que contiene el cursor; el nivel de aislamiento de la otra transacción (en la que se realizó el cambio) es irrelevante.

RU: Lectura no confirmada

RC: lectura confirmada

RR: lectura repetible

S: Serializable

[b] Depende de cómo se implemente el cursor. Si el cursor puede detectar estos cambios se notifica a través de la opción SQL_STATIC_SENSITIVITY en SQLGetInfo.