Partage via


Curseurs défilants et isolation des transactions

Le tableau suivant répertorie les facteurs qui régissent la visibilité des modifications.

Modifications apportées par : La visibilité dépend des éléments suivants :
Cursor Type de curseur, implémentation du curseur
Autres instructions dans la même transaction Type de curseur
Déclarations dans d’autres transactions Type de curseur, niveau d’isolation des transactions

Ces facteurs sont présentés dans l’illustration suivante.

Facteurs régissant la visibilité des modifications

Le tableau suivant résume la capacité de chaque type de curseur à détecter les modifications apportées par elle-même, par d’autres opérations dans sa propre transaction et par d’autres transactions. La visibilité des dernières modifications dépend du type de curseur et du niveau d’isolation de la transaction contenant le curseur.

Type de curseur\Action Self Posséder

Txn
Othr

Txn

(RU[a])
Othr

Txn

(RC[a])
Othr

Txn

(RR[a])
Othr

Txn

(S[a])
Statique
Insérer Peut-être[b] Non Non Non Non Non
Update Peut-être[b] Non Non Non Non Non
Supprimer Peut-être[b] Non Non Non Non Non
Piloté par jeu de clés
Insérer Peut-être[b] Non Non Non Non Non
Update Oui Oui Oui Oui Non Non
Supprimer Peut-être[b] Oui Oui Oui Non Non
Dynamique
Insérer Oui Oui Oui Oui Oui Non
Update Oui Oui Oui Oui Non Non
Supprimer Oui Oui Oui Oui Non Non

[a] Les lettres entre parenthèses indiquent le niveau d’isolation de la transaction contenant le curseur ; le niveau d’isolation de l’autre transaction (dans laquelle la modification a été apportée) n’est pas pertinent.

RU : Lecture non validée

RC : Lecture validée

RR : lecture réitérable

S : Serializable

[b] Dépend de la façon dont le curseur est implémenté. Indique si le curseur peut détecter ces modifications par le biais de l’option SQL_STATIC_SENSITIVITY dans SQLGetInfo.