J'ai écrit un trigger qui suite à une modif devrait enregistrer toutes les lignes d'une table dans un fichier texte.
Le trigger est crée correctement.
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 create or replace trigger trig_cli after update of nom on client for each row declare v_filehandle utl_file.file_type; cursor cli Is select * from client; begin v_filehandle :=utl_file.fopen('MY_DOCS','j2ee.txt','w');--Opening a file for v_cli_rec IN cli LOOP utl_file.putf(v_filehandle,'clients %s : %s\n',v_cli_rec.nom,v_cli_rec.prenom); end loop; UTL_FILE.fclose(v_filehandle); end trig_cli;
Quand, je fais une maj de la table j'obtiens l'erreur suivante :
ORA-04091: la table MYDB.CLIENT est en mutation ; le déclencheur ou la fonction ne peut la voir
ORA-06512: à "MYDB.TRIG_CLI", ligne 5
ORA-06512: à "MYDB.TRIG_CLI", ligne 12
ORA-04088: erreur lors d'exécution du déclencheur 'MYDB.TRIG_CLI'
Y'a-t-il un moyen de corriger cette erreur ou d'exporter la table autrement pour éviter le problème de table en mutation?
Merci
Partager