Bonjour,

je suis débutant et je n'ai jamais fait de trigger/procedure, après avoir bien galéré pour comprendre et étant pris par le temps je sollicite votre aide

J'ai un trigger qui appel une procédure qui doit additionner 2 champs puis écrire dans un nouveau champs la nouvelle valeur à chaque insertion.

le problème c'est que la nouvelle valeur est toujours la même pour tout les tuple parce les valeurs utilisées son que sur le 1er tuple de la table.

ce que je voudrai c'est qu'il le fasse pour chaque tuple en question.

le code :

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
21
22
23
24
25
26
CREATE TRIGGER calc_h_fin
  BEFORE INSERT
  ON histo
  FOR EACH ROW
  EXECUTE PROCEDURE calc_h_fin();
 
 
 
CREATE OR REPLACE FUNCTION calc_h_fin()
  RETURNS trigger AS
$BODY$
 
DECLARE 
val interval;
 
BEGIN
select into val evenem_hdeb+evenem_retard from histo;
  NEW.h_fin_incident := val ;  
 
RETURN NEW;
END;
 
$BODY$
  LANGUAGE plpgsql VOLATILE
  COST 100;
ALTER FUNCTION calc_h_fin() OWNER TO postgres;
Merci beaucoup !