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:
trigger:
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;
fonction :
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();
mon soucis est que je n'ai pas de message d'erreur et aucune mise à jour ne s'effectue dans la table test.
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;
Ai je oublié quelque chose ? merci d'avance
Partager