Arjuna Aircraft Ident.: F-MBSD | jielbi a écrit :
Salut !
ben déjà 2 choses : je vois pas trop l'intéret d'un curseur alors que tu prends rownum=1, mais bon pourquoi pas. Ensuite dans le curseur il n'y a pas besoin de paramètres puisqu'ils ne sont pas utilisés dans la requête...
|
Le rownum = 1 est là parceque la requête est loin d'être finie, c'est en cours d'écriture, et vu que ça merde d'entrée, il n'est pas allé plus loin
jielbi a écrit :
Donc j'écrirais ca comme ca:
declare myvar varchar2(30) ; myvar2 varchar2(4000); cursor cur_vue is select rpad(view_name,30,' ') , text From all_views
where rownum = 1 ; begin open cur_vue;
fetch cur_vue into myvar,myvar2;
loop exit when cur_vue%notfound;
insert into vuesql values (myvar,myvar2);
fetch cur_vue into myvar,myvar2; end loop; end; et là, ca devrait mieux marcher...
|
OK, je lui dit de tenter cette syntaxe. A priori, son code n'a pas sauté aux yeux d'un DBA ici, donc ça faisait la même chose (sans passer par le fetch)
A noter que le "text" est de type "LONG", et c'est ça qui merde en fait (vous pouvez tester, c'est une table système d'Oracle) |