Erreur syntaxe fonction PL/SQL
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 :
Citation:
12/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.
je ne comprends pas car j'utilise cette syntaxe dans une procédure stockée PLL/SQL et çà fonctionne
d'avance merci pour votre aide
Code:
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;
/ |