Bonjour,
j'ai essaye d'utiliser un cursuer ds une procedure
en fait , ce select rend les chiffres places entre virgules
et donc je souhaite parcourir tout chiffres, je les recupere ds la procedure comme varchar2 (exemple '5,6,8,7,3')
ce select , je l'ai teste et ca marche
par contre le probleme est ds le curseur
voici la declaration :
CREATE OR REPLACE Procedure dispatch_LISSAGE(projectIdList varchar2,perId number,genId number, ecriture number) is
cursor cur_lissage(projectIdList in varchar2) is select substr(the_string, decode(level, 1, 1, instr(the_string,',',1,level-1)+1), decode( instr(the_string,',',1,level), 0, length(the_string), instr(the_string,',',1,level) - decode( level, 1, 0, instr(the_string,',',1,level-1))-1) ) ProjectID from (select projectIdList the_string from dual ) connect by level < length(replace(translate(the_string,'01234567890','00000000000'),'0')) + 2;
lissage_rec cur_lissage%ROWTYPE;
ca retourne cette erreur :
PROCEDURE CPFA.DISPATCH_LISSAGE
On line: 22
PLS-00225: subprogram or cursor 'CUR_LISSAGE' reference is out of scope
Cdlt
Sallemel
Partager