Bonjour,
alors moi j'aimerais créer un trigger sur une table location, qui lors d'un ajout sur cette table, fait un update sur 2 autres tables mettant à jour les champs concernés.
Ces champs sont de type boolean donc true ou false.
Ensuite je définis cet fonction en trigger :
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 CREATE OR REPLACE FUNCTION dispo () RETURNS trigger AS ' DECLARE nodispo boolean; client varchar(4); voiture varchar(4); BEGIN select into nodispo rendu from location; select into client id_client from location; select into voiture id_vehicule from location; update clients set location_dispo = nodispo where id_client = client; update vehicules set dispo_vehicule = nodispo where id_vehicule = voiture; return new; END; ' LANGUAGE 'plpgsql';
Ce code ne tiens en compte que de la première Insertion dans la table "location" et ne marche plus lors du deuxième insertion.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 CREATE TRIGGER trig_dispo AFTER INSERT ON location FOR EACH ROW EXECUTE PROCEDURE dispo();
Quelqu'un pourrait m'aider et aussi m'expliquer le fonctionnement du Return NEW ??
merci d'avance,
KiAhS
Partager