Bonjour,

Je mets à jour une table à partir d'une vue en utilisant un trigger et une fonction..


ma table contient deux champs a et id
vue:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
 
CREATE OR REPLACE VIEW vue AS 
 SELECT a,
    id
   FROM table;
trigger:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
 
CREATE TRIGGER t_update_valide
  INSTEAD OF INSERT OR UPDATE
  ON vue
  FOR EACH ROW
  EXECUTE PROCEDURE f_update();
fonction :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 
CREATE OR REPLACE FUNCTION f_update()
  RETURNS trigger AS
$BODY$
BEGIN
 
    IF (TG_OP = 'UPDATE') THEN
        update test set a=NEW.a   where test.id=NEW.id;
        RETURN NEW;
    END IF;
END;
$BODY$
  LANGUAGE plpgsql VOLATILE
  COST 100;
mon soucis est que je n'ai pas de message d'erreur et aucune mise à jour ne s'effectue dans la table test.
Ai je oublié quelque chose ? merci d'avance