Bonjour,
je débute en PL/SQL et je galère sur une fonction qui parait toute simple
je souhaite concaténer les champs T_LIBELLE des lignes correspondant à un même identifiant
j'ai fait cette fonction sous VBA et pas de problème ;
mais j'obtiens l'erreur ci-dessous :
je ne comprends pas car j'utilise cette syntaxe dans une procédure stockée PLL/SQL et çà fonctionne12/2 PLS-00103: Symbole "END" rencontré à la place d'un des symboles
suivants :
. ( * @ % & = - + ; < / > in mod not rem an exponent (**)
<> or != or ~= >= <= <> and or like between is null is not ||
Symbole ";" a été substitué à "END" pour continuer.
d'avance merci pour votre aide
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 function concatenat(id in number) return varchar2 is result VARCHAR2(255); CURSOR c IS SELECT EFFORT.TABINDICATION_LIBELLE.T_LIBELLE FROM EFFORT.TABINDICATION_EFFORT,EFFORT.TABINDICATION_LIBELLE WHERE EFFORT.TABINDICATION_EFFORT.IE_N_INDICATIONS(+)=EFFORT.TABINDICATION_LIBELLE.N_CODE AND EFFORT.TABINDICATION_EFFORT.EFFORT_ID=id; begin FOR enr IN c LOOP result = result || enr.T_LIBELLE --DBMS_OUTPUT.PUT_LINE (result); END LOOP; return result; end; /
Partager