Execution Requete Preparee
Bonjour,
Je suis sous Oracle 10.2 et je développe une procédure stockée en PL/SQL
qui doit executer une liste de requêtes préparées qui se trouve dans une table.
Pour cela, après avoir sélectionnée la requête préparée dans la table, je l'execute avec un REF CURSOR.
Le souci est que je dois connaitre à l'avance les champs retournés pour pouvoir utiliser REF CURSOR or toutes ces requêtes me retournent des champs différents à chaque fois.
Auriez-vous une idée pour m'aider à rendre la solution générique ?
Je joins un exemple du code test (en rouge, ce qui me pose problème):
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
| procedure indicateur_test(ur_code quad_ur.code%type) as
type Ref_Cur IS REF CURSOR;
sql_stmt LONG;
cur Ref_Cur;
nidt bde_sim_cellules.CODE_NIDT%type;
nom bde_sim_cellules.NOM%type;
lac bde_sim_cellules.LAC%type;
etat bde_sim_cellules.ETAT%type;
BEGIN
SELECT texte_req into sql_stmt from quad_requete_total_erreurs where id_req=40;
DBMS_OUTPUT.put_line('REQUETE 140 NB LIGNES : ' || SQL%ROWCOUNT);
DBMS_OUTPUT.put_line('Requete total : ' || sql_stmt);
OPEN cur FOR sql_stmt USING ur_code;
LOOP
FETCH cur INTO nidt, nom, lac, etat;
EXIT WHEN cur%NOTFOUND;
-- DBMS_OUTPUT.put_line(nidt || nom || lac || etat);
END LOOP;
DBMS_OUTPUT.put_line('TOTAL : ' || cur%ROWCOUNT);
CLOSE cur;
end indicateur_test; |
Merci d'avance