Bonjours,
je pense que mon probléme est assez simple,
j'ai deux tables T1,T2 identiques, T1 est liée à une interface utilisateur, et T2 n'as aucune relation avec acune table, ce que je veux fair c'est une simulation d'import de données instantané, c'est à dire une fois l'utilisateur insert ou mis à jour la table T1, la table T2 doit être mise à jour aussi à partir de T1, j'ai pensé à crée un déclancheur, simple de type
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
 
CREATE OR REPLACE TRIGGER Tf2 AFTER INSERT or update ON T1
BEGIN 
    DELETE FROM T2;   
insert into T2 (select utl_raw.cast_to_varchar2(c1);utl_raw.cast_to_varchar2(c2) from T1);
END ;
lors d'une insertion dans la table T1, j'ai la fameuse erreur suivante:
ORA-04091: table T1 is mutating, trigger/function may not see it

ensuite j'ai crée une procédure pragma, histoire de résoudre cela
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
 
Create or replace procedure ifa Is
pragma AUTONOMOUS_TRANSACTION;
BEGIN
      delete from famille2;
      insert into famille2 (SELECT utl_raw.cast_to_varchar2(famille),utl_raw.cast_to_varchar2(libelle) from famille) ;
END;
et j'ai refais le trigger:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
 
create or replace trigger tf1 after insert or update on T1 for each row 
 begin
 ifa;
 end;
cette fois j'ai l'erreur suivante:

ORA-06519: transaction autonome active détectée et annulée


et là je poste ma question

si quelqu'un svp veut m'orienter sur ce que je dois faire afin de palier à cela

Merci