[Oracle10g] Erreur lors de la création d'un package contenant une procédure
Bonjour
voilà, je suis débutante en Oracle, j'aimerai créer un package contenant une procédure stockée,
je rencontre un problème lors de la compilation, alors voici ma requête:
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 25 26 27 28 29 30 31 32 33 34 35 36 37 38
| CREATE OR REPLACE PACKAGE SYS.PKG_TEST AS
PROCEDURE PS_LISTE_COMMANDES(
xCodePrel IN VARCHAR2,
wCurCommande OUT T_CURSOR
)
IS
BEGIN
DECLARE
-- Variables
vSQL_ERREUR VARCHAR2(500) := null; -- Utilisé pour enregistrer les erreurs SQL dans la base
vRequete LONG; -- Requete utilisee comme curseur
vCurComm T_CURSOR; -- Curseur de liste des commandes
BEGIN
-- Requete contenant les commandes
vRequete := 'SELECT ROWNUM AS "NumCommande", VCLIENTS.NOM as "NomClient", VAGRICULTEURS.NOM ||'' ''|| VAGRICULTEURS.PRENOM as "NomAgri", VAGRICULTEURS.PRENOM as "PrenomAgri", VAGRICULTEURS.CP as "CPAgri", VAGRICULTEURS.VILLE as "VilleAgri", NBPRELEVEMENT as "NbPrelevement", OPRELEVEURS.CP as "CPPrel", DATEPLANIFICATION as "DatePlanification", DATEREALISATION as "DateRealisation"
FROM VCLIENTS INNER JOIN VAGRICULTEURS ON VCLIENTS.IDCLIENT=VAGRICULTEURS.IDCLIENT
INNER JOIN VCOMMANDES ON VAGRICULTEURS.IDAGRICULTEUR=VCOMMANDES.IDAGRICULTEUR
INNER JOIN OPRELEVEURS ON VCOMMANDES.CODEPREL=OPRELEVEURS.CODEPREL
WHERE CODEPREL='''|| xCodePrel ||'''';
-- On ouvre le curseur
OPEN vCurComm FOR vRequete;
-- Curseur OUT
wCurCommande := vCurComm;
EXCEPTION
WHEN OTHERS
THEN
vSQL_ERREUR := SQLCODE ||':'|| SQLERRM;
insert into wtrace_erreur_sql values (sysdate, xCodePrel, vSQL_ERREUR, '3', 'PS_LISTE_COMMANDES', null);
END;
END;
END PKG_TEST;
/ |
l'erreur retourné par Oracle est la suivante:
Code:
1 2 3
| PLS-00103: Symbole "BEGIN" rencontré à la place d'un des symboles suivants :
language |
j'ai fais quelques recherches, mais je n'ai rien trouvé, je ne sais pas si l'erreur vient de ma procédure ou de la façon dont je procède pour la faire...
s'il vous plait, aidez moi, je suis en galère :(