Erreur lors d'une éxécution d'une procédure dans un package SQL
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 :
Citation:
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:
1 2 3 4 5 6
| create or replace
PACKAGE FA_PURGE AS
PROCEDURE Purger_SI;
END FA_PURGE ;
/
exit; |
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
| 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:
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