Je travaille sous Oracle 9i.
J'ai besoin de verrouiller ( mettre des locks ) sur un certains nombres d'enregistrements d'une de mes tables.
Pour cela j'utilise la syntaxe
SELECT ..... FOR UPDATE NOWAIT
.
Cela fonctionne bien puisque personne d'autre que moi ne peux avoir accès à ces enregistrements.
Mon pb est que si je réexécute la même requête ( où une requête ayant des enregistrements en communs avec ceux déjà lockés ), j'arrive à relocker mes enregistrements. Ils sont en fait locker deux fois mais à priori c'est possible car je suis sous la même session ( une personne sous une autre session n'arrive pas à locker mes données ).
Existe-t-il idéalement une commande de façon à locker de manière complète ( cad que même si je suis sur la même session, je n'arriverai pas à les relocker sans avoir fait de unlock au travers d'un rollbakc par exemple ) où une manière simple de savoir quels sont les enregistrements lockés sous ma session ?
Merci d'avance.
Partager