Partilhar via


Cursores roláveis e isolamento de transações

A tabela seguinte lista os fatores que regem a visibilidade das mudanças.

Alterações feitas por: A visibilidade depende de:
Cursor Tipo de cursor, implementação do cursor
Outras declarações na mesma transação Tipo de cursor
Declarações em outras transações Tipo de cursor, nível de isolamento da transação

Estes fatores são mostrados na ilustração seguinte.

Fatores que regem a visibilidade das alterações

A tabela seguinte resume a capacidade de cada tipo de cursor detetar alterações feitas por si próprio, por outras operações na sua própria transação e por outras transações. A visibilidade destas alterações depende do tipo de cursor e do nível de isolamento da transação que contém o cursor.

Tipo\Ação do cursor Self Próprio

Txn
Othr

Txn

(RU[a])
Othr

Txn

(RC[a])
Othr

Txn

(RR[a])
Othr

Txn

(S[a])
Estático
Inserir Talvez[b] Não Não Não Não Não
Atualização Talvez[b] Não Não Não Não Não
Suprimir Talvez[b] Não Não Não Não Não
Orientado por conjuntos de chaves
Inserir Talvez[b] Não Não Não Não Não
Atualização Yes Yes Yes Yes Não Não
Suprimir Talvez[b] Yes Yes Yes Não Não
Dynamic
Inserir Yes Yes Yes Yes Yes Não
Atualização Yes Yes Yes Yes Não Não
Suprimir Yes Yes Yes Yes Não Não

[a] As letras entre parênteses indicam o nível de isolamento da transação que contém o cursor; O nível de isolamento da outra transação (em que a alteração foi feita) é irrelevante.

RU: Leitura não confirmada

RC: Leia comprometido

RR: Leitura repetível

S: Serializável

[b] Depende de como o cursor é implementado. Se o cursor consegue detetar tais alterações é reportado através da opção SQL_STATIC_SENSITIVITY no SQLGetInfo.