CREATE OR REPLACE TRIGGER MON_TRIGGER AFTER INSERT ON Ma_table
Declare
-- Noms des fichiers --
LC$Fic_out Varchar2(128) := 'OUT.TXT' ; -- Nom du fichier de sortie
-- Noms des répertoires --
LC$Dir_out Varchar(30) := 'FLUX_OUT' ; -- Nom du DIRECTORY ou sera écrit le fichier
-- Pointeurs de fichier --
LF$FicOUT UTL_FILE.FILE_TYPE ;
-- Tampon de travail --
LC$Ligne Varchar2(32767) ;
-- Message --
LC$Msg Varchar2(256) ;
-- Exception --
LE$Fin Exception ;
Begin
-- Ouverture du fichier de sortie --
Begin
LF$FicOUT := UTL_FILE.FOPEN( LC$Dir_out, LC$Fic_out, 'W', 32764 ) ;
Exception
When OTHERS Then
LC$Msg := SQLERRM || ' [' || LC$Dir_out || '] -> ' || LC$Fic_out;
Raise LE$Fin ;
End ;
-- Ecriture dans le fichier --
Begin
-- Récupération de l'enregistrement qui a déclenche le trigger--
-- XXX La je ne sais pas !
-- écriture dans le fichier de sortie --
UTL_FILE.PUT_LINE( LF$FicOUT, XXX ) ;
-- Fermeture des fichiers --
UTL_FILE.FCLOSE( LF$FicOUT ) ;
End ;
Exception
When LE$Fin Then
UTL_FILE.FCLOSE_ALL ;
RAISE_APPLICATION_ERROR( -20100, LC$Msg ) ;
End ;
END;
Partager