Partilhar via


Cursores roláveis e isolamento da transação

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

Foi feita alguma alteração? A visibilidade depende do seguinte:
Cursor Tipo e implementação do cursor
Outras instruções na mesma transação Tipo do cursor
Instruçõ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.

Factors governing the visibility of changes

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

Tipo de cursor/ação Self Propr

Txn
Othr

Txn

(RU[a])
Othr

Txn

(RC[a])
Othr

Txn

(RR[a])
Othr

Txn

(S[a])
Estático
Insert Talvez[b] Não No No No Não
Atualizar Talvez[b] Não No No No Não
Excluir Talvez[b] Não No No No Não
Controlado por conjunto de chaves
Insert Talvez[b] Não No No No Não
Atualizar Sim Sim Sim Sim Não Não
Excluir Talvez[b] Sim Sim Sim Não Não
Dinâmico
Insert Sim Sim Sim Sim Sim Não
Atualizar Sim Sim Sim Sim Não Não
Excluir Sim Sim Sim Sim 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

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 em SQLGetInfo.