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é..
Mon Log de compilation:
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
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;
Je bosse sous SQL Developper 1.2.1 avec une base Oracle 10g Express Edition.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
Si vous avez la moindre idée de résolution, je vous remercie d'avance pour votre aide !
Partager