masequence.currval retourne la dernière valeur générée par masequence.nextval dans LA session en cours.
Faites le test pour voir.
Même si une autre session fait un masequence.nextval, pour la première session masequence.currval ne change pas.
D'ailleurs, masequence.currval n'est pas défini dans la première session avant une lecture de masequence.nextval !
M'enfin autant faire les choses bien :
1- Une séquence par table ! Par exemple SEQ_NomDeTable.
2- Pas de "clé primaire automatique avec un trigger", mais :
Code :
- INSERT INTO MA_TABLE ( SEQ_MA_TABLE.NEXTVAL, 'TOTO', 35, ... )
|
3- Si on veut la valeur de l'ID, on le récupère avant:
Code :
- SELECT SEQ_MA_TABLE.NEXTVAL FROM DUAL
|
et on s'en sert ensuite pour l'INSERT.
---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.