Bonjour,

J'ai créé un package avec une seule procédure pour le moment.
J'ai exécuté le package spec et body sans problème et au moment de l’exécution on me donne une erreur que je ne comprends pas :
Erreur commençant à la ligne 52 de la commande :
begin
FA_PURGE.PurgerSI;
end;
Rapport d'erreur :
ORA-00904: "DATEFIN": invalid identifier
ORA-06512: at "DEV_SI.FA_PURGE", line 28
ORA-06512: at line 2
00904. 00000 - "%s: invalid identifier"
*Cause:
*Action:
voici mon code :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
create or replace
PACKAGE  FA_PURGE AS
PROCEDURE  Purger_SI;
 END FA_PURGE ;
/
exit;
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
25
26
27
28
29
30
31
32
33
create or replace
PACKAGE BODY FA_PURGE    as
PROCEDURE Purger_SI;
is
-- Déclaration des variables de la fonction
    dateFin     DATE;
 
    nbAttDate    NUMBER := 0;
 delai NUMBER := 36;
 
BEGIN
     --  Initialisation de la date de purge
    select retention into delai
      from PARAM_PURGE;
   dateFin := ADD_MONTHS(sysdate,-delai);
    SELECT distinct COUNT (*)
        INTO nbAttDate
        FROM DE_ETAT
         WHERE DATE_ETAT <  dateFin;
 
 
  EXECUTE IMMEDIATE 'create global temporary table id_purger 
    ON COMMIT PRESERVE ROWS 
     as
     SELECT distinct id_dec
     FROM DE_ETAT
     WHERE DATE_ETAT < dateFin ';
 
commit;
END Purger_SI;
END FA_PURGE;
/
exit;
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
begin 
FA_PURGE.Purger_SI; 
end; /


Est-il possible de m'aider ? C'est la 1ére fois je fais du PL/SQL Oracle et je galère pas mal...
MErci d'avance