Bonjour,
je viens de créer et tester une procédure qui me renvoie un "OUT number"
la voici :
jusqu'ici tout va bien.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 CREATE OR REPLACE PROCEDURE getnextval(idval OUT number, nomseq varchar2) IS BEGIN execute immediate 'SELECT '||nomseq||'.NEXTVAL FROM DUAL' INTO idval; END;
Mon problème vient lors de l'appel de cette procédure dans une requête :
je ne sais pas comment récupérer directement mon "idval OUT" à la place de GETNEXTVAL(...)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 INSERT INTO TAB1 (col1, col2,col3) SELECT * FROM (SELECT var1, var2 ,GETNEXTVAL(idval,'ma_seq') FROM TAB2)
Comment dois-je procéder pour l'appel de cette procédure?
des idées ?
Merci d'avance
ps :
l'appel via sqlplus me renvoie "PL/SQL procedure sucexxfully completed", mais n'affiche pas la valeur retournée à l'écran :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 declare idval number; begin getnextval(idval,'ma_seq'); dbms_output.put_line(idval); end;
Partager