Salut a tous![]()
J'ai créé une procédure dans un package qui renvoie un curseur en résultat. ca donne un truc du style :
MY_CURSOR étant le fameux curseur renvoyant le résultat de la requete sur la table temporaire TEMP_TABLE.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 PROCEDURE PARSE_CHRA_DATA (MY_CURSOR OUT TYP_CURSEUR, <Autres Paramètres>) IS ... <Traitement> ... OPEN MY_CURSOR FOR SELECT * FROM TEMP_TABLE ORDER BY ID; END PARSE_CHRA_DATA;
le type TYP_CURSEUR est défini à un autre endroit dans le package.
Le problème c que dès que je change la requete, pour par exemple prendre des données d'une autre table et faire une jointure, Oracle me sort une erreur (PLS-00382: expression is of wrong type).
Idem lorsque je remplace * par les noms des quelques champs.
J'ai vérifié la syntaxe a chaque fois, et la requete que j'essaye de mettre fonctionne si on la lance séparément. l'erreur ne survient que dans la procédure.
Je suis en Oracle 9i.
J'espere que quelq'un aura une idée
Kal
Partager