Trigger qui provoque des doublons
Bonjour,
je tente de creer un trigger qui copie les insert de la tbl1 dans la tbl2 et execute un update :
Code:
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:
1 2 3
| 1 bla blo
2 plop plip
2 plop plip |
:weird:
apres un troisieme insert sur la tbl1, j'obtiens dans la tbl2 :
Code:
1 2 3 4 5 6
| 1 bla blo
2 plop plip
2 plop plip
3 grrr ??
3 grrr ??
3 grrr ?? |
8O
impossible de trouver la cause :?
des idées ? Merci