Compartilhar via


Cursores roláveis e isolamento da transação

A tabela a seguir lista os fatores que regem a visibilidade das alterações.

Alterações feitas por: A visibilidade depende de:
Cursor Tipo de cursor, implementação de 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

Esses fatores são mostrados na ilustração a seguir.

Fatores que regem a visibilidade das alterações

A tabela a seguir resume a capacidade de cada tipo de cursor de detectar alterações feitas por si só, por outras operações em sua própria transação e por outras transações. A visibilidade das últimas alterações depende do tipo de cursor e do nível de isolamento da transação que contém o cursor.

Tipo de cursor\ação Self Possuir

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
Update Talvez[b] Não Não Não Não Não
Delete Talvez[b] Não Não Não Não Não
Controlado por conjunto de chaves
Inserir Talvez[b] Não Não Não Não Não
Update Yes Yes Yes Yes Não Não
Delete Talvez[b] Yes Yes Yes Não Não
Dinâmico
Inserir Yes Yes Yes Yes Yes Não
Update Yes Yes Yes Yes Não Não
Delete 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 (na qual a alteração foi feita) é irrelevante.

RU: Leitura não confirmada (Read Uncommitted)

RC: Leitura confirmada

RR: Leitura repetível

S: Serializável

[b] Depende de como o cursor é implementado. Se o cursor pode detectar essas alterações é relatado por meio da opção SQL_STATIC_SENSITIVITY no SQLGetInfo.