Erreur sur Fonction PL/SQL
Bonjour, je viens demander de l'aide parce que je commence à péter un cable, j'essaye de compiler une fonction PL/SQL et impossible de trouver pourquoi ça ne compile pas.. je crois avoir tout essayé..
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
| CREATE OR REPLACE
FUNCTION APPETIT_DEPEND_DE_ECAILLES RETURN VARCHAR2 IS
DECLARE
CURSOR App_ecailles IS
SELECT d1.dragon, d1.nombreecailles, a1.totalcal AS appetit, ROUND (a1.totalcal/d1.nombreecailles,2) AS rapport
FROM DRAGONS d1, APPETIT a1
WHERE d1.dragon = a1.dragon;
App_prec App_ecailles%rowtype;
App_cour App_ecailles%rowtype;
BEGIN
OPEN App_ecailles;
FETCH App_ecailles INTO App_prec;
LOOP
FETCH App_ecailles INTO App_cour;
EXIT WHEN App_ecailles%notfound;
IF App_cour.appetit < App_prec.appetit
THEN RETURN('NON');
App_prec := App_cour;
END IF;
END LOOP;
CLOSE App_ecailles;
END APPETIT_DEPEND_DE_ECAILLES; |
Mon Log de compilation:
Code:
1 2
| Error(4,1): PLS-00103: Symbole "DECLARE" rencontré à la place d'un des symboles suivants : begin function package pragma procedure subtype type use <identificateur> <identificateur entre guillemets> form current cursor external language Symbole "begin" a été substitué à "DECLARE" pour continuer.
Error(24,31): PLS-00103: Symbole "end-of-file" rencontré à la place d'un des symboles suivants : begin case declare end exception exit for goto if loop mod null pragma raise return select update while with <identificateur> <identificateur entre guillemets> <variable bind> << close current delete fetch lock insert open rollback savepoint set sql execute commit forall merge pipe |
Je bosse sous SQL Developper 1.2.1 avec une base Oracle 10g Express Edition.
Si vous avez la moindre idée de résolution, je vous remercie d'avance pour votre aide !