Bonjour,

je tente de creer un trigger qui copie les insert de la tbl1 dans la tbl2 et execute un update :
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
create or replace function myprocedure() returns trigger as
begin 
IF (TG_OP = 'INSERT')THEN 
 insert into tbl2
 select new.* from tbl1 ;
 
update tbl2
set (field1, field2) =  ... ;
 
 return new ;
 END IF ;
END;
$$ LANGUAGE plpgsql ;
 
DROP TRIGGER IF EXISTS mytrig ON public.tbl1 ;
    CREATE TRIGGER mytrig AFTER INSERT or UPDATE on public.tbl1
FOR EACH ROW EXECUTE PROCEDURE myprocedure();
apres un premer insert sur la tbl1, j'obtiens dans la tbl2 :
parfait
apres un deuxieme insert sur la tbl1, j'obtiens dans la tbl2 :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
1 bla blo
2 plop plip
2 plop plip

apres un troisieme insert sur la tbl1, j'obtiens dans la tbl2 :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
1 bla blo
2 plop plip
2 plop plip
3 grrr ??
3 grrr ??
3 grrr ??


impossible de trouver la cause
des idées ? Merci