Compartir vía


Los cursores desplazables y aislamiento de transacción

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
Instrucciones en otras transacciones Tipo de cursor, nivel de aislamiento de transacción

Estos factores se muestran en la siguiente ilustración.

Factors governing the visibility of changes

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 transacción que contiene el cursor.

Tipo de cursor\acción Self Propietario

Txn
Otros

Txn

(RU[a])
Otros

Txn

(RC[a])
Otros

Txn

(RR[a])
Otros

Txn

(S[a])
Estático
Insertar Tal vez[b] No N.º N.º N.º No
Actualizar Tal vez[b] No N.º N.º N.º No
Eliminar Tal vez[b] No N.º N.º N.º No
Dirigido por conjuntos de claves
Insertar Tal vez[b] No N.º N.º N.º No
Actualizar No No
Eliminar Tal vez[b] No No
Dinámica
Insertar No
Actualizar No No
Eliminar No No

[a] Las letras entre paréntesis indican el nivel de aislamiento de 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.