bjr j'ai une colonne ''requete" pour chaque ligne de cette colonne j'ai ecrit une requete
exple:
code||reqeute
001 select * from utilisateur
comment je peux executer cette requete
merci
bjr j'ai une colonne ''requete" pour chaque ligne de cette colonne j'ai ecrit une requete
exple:
code||reqeute
001 select * from utilisateur
comment je peux executer cette requete
merci
Je dirais qu'en faisant un bloc PL/SQL où tu alimente un curseur qui pour chaque row retournée va lancer un "execute immediate" cela devrait faire l'affaire...
Un truc du style suivant :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 declare monsql varchar2(2000); cursor c1 is select sql from matablesql; begin open c1; loop fetch c1 into monsql; fetch when c1%notfound; execute immediate monsql; end loop; close c1; end;
Oui, mais que ramènera le EXECUTE IMMEDIATE avec un "select * from emp" ?
comment récupérer les lignes ? Il faudra faire un into -> Collection
Compliqué...![]()
Effectivement, reste le problème de la récupération des lignes...
Dans ce cas pourquoi ne pas passer par un truc tout bête :
- Je lance un premier SQL sur ma table contenant les SQL à passer qui spoole sur un fichier temporaire (monfichier.sql) nommé avec ni en-tête de colonnes, gros linesize & gros pagesize.
- Je lance @monfichier.sql et j'ai le résultat de toutes mes requêtes à l'écran.
L'article suivant, notamment dans la 2ème partie (SQL) présente un package capable de gérer n'importe quel ordre SQL, et remplit 2 collections : la première contenant les colonnes de la requête, la deuxième contenant les données.
En fait, on tourne autour sans savoir le besoin réel...
malkovich85 : Peux-tu expliquer le contexte et le but s.v.p car j'ai un peu de mal à comprendre où est l'intêret de ta mécanique.
Partager