Bonjour,
Je ne comprends pas comment fonctionne les transactions en Oracle.
D'après les essai que j'ai fait, les transactions ne sont pas bloquants, contrairement à MySQL.
Par exemple, si j'ai 2 sessions qui font :
n=select max (id) from matable;
n=n+1;
insert into matable(id) values (n);
commit;
L'une des sessions va fonctionner, et l'autre va planter en indiquant qu'il y a un problème d'unicité sur la clef primaire.
Même en mettant le niveau d'isolation serializable, l'une des deux va planter.
N'y a t il pas un moyen de bloquer une des deux sessions au select pour qu'il attende que la 2eme session finisse son travaille ?
Partager