Bonjour,
Après avoir utilisé les curseur paramétrés et les REF CURSOR qui permettent de coder la requête sous forme de chaîne de caractères dans la clause OPEN, j'ai tenté de passer une requête en paramètre sous forme de chaîne de caractère.
Il m'a semblé que c'est ce à quoi servent (entre autre) les REF CURSOR (mais me je trompe peut-être)
Je ne suis pas arrivée à marier les 2 syntaxes.
Voilà la requête que j'injecte :
'Select T_CLIENT.CLI_ID , T_TITRE.TIT_LIBELLE , T_TITRE.TIT_CODE from T_TITRE , T_CLIENT where T_TITRE.TIT_CODE = T_CLIENT.TIT_CODE and T_CLIENT.CLI_ID <= 20'
j'ai essayé ca (et toutes sortes de formules que je vous épargne).
et je rencontre ce genre d'erreur
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 ItemTitre sys_refcursor (requete) ; ou ItemTitre sys_refcursor (requete in char(160)) ; ou) ItemTitre sys_refcursor (requete in char) ; ... OPEN ItemTitre for ('&requete') ; ou OPEN ItemTitre for (&requete) ;
Est-ce que je fais fausse route en voulant injecter une requête en paramètre ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 Rapport d'erreur : ORA-06550: Ligne 12, colonne 22 : PLS-00103: Symbole "SELECT" rencontré à la place d'un des symboles suivants : ou ORA-06550: Ligne 4, colonne 39 : PLS-00103: Symbole "CHAR" rencontré à la place d'un des symboles suivants : ( ou Rapport d'erreur : ORA-06550: Ligne 4, colonne 12 : PLS-00566: le nom type "SYS_REFCURSOR" ne peut être calligraphique
N'est-ce pas pourtant le genre de problème que l'on peut être amené résoudre ?
Merci de vos avis éclairés.
Partager