Bonjour, je suis en train de creer une fonction en sql dynamique, donc voici pour le moment le code :
et il me retourne l'erreur :
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 create or replace function est_un_ngraphe (t2 varchar2) return varchar2 is mot2 varchar2 (4); tmp2 varchar2(6); req varchar2(512); tmp3 pls_integer; begin mot2 := '''kw'''; req := 'select code into tmp2 from ' || t2 || ' where symbole = ' || mot2 ; EXECUTE IMMEDIATE req into tmp3 ; return req; EXCEPTION when no_data_found then return 0; END est_un_ngraphe;
Comme je débute en sql dynamique je n'ai aucune idée du mot clé manquant.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 Erreur commençant à la ligne 533 de la commande : begin dbms_output.put_line (est_un_ngraphe('haousa')); end; Rapport d'erreur : ORA-00905: mot-clé absent ORA-06512: à "L3_8.EST_UN_NGRAPHE", ligne 11 ORA-06512: à ligne 2 00905. 00000 - "missing keyword" *Cause: *Action:
Si quelqu'un a une idée, je suis preneur.
Merci d'avance.
Foublanc1.
édit : Bon, bah j'ai fini par trouver. Si quelqu'un venait à avoir le même problème et à lire ce post, sachez qu'il suffit de sortir le "into tmp" de la chaîne de caractères et de le mettre après le execute immediate.
Partager