Trigger sur une table met à jour d'autres tables
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.
Code:
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'; |
Ensuite je définis cet fonction en trigger :
Code:
1 2 3 4
|
CREATE TRIGGER trig_dispo AFTER INSERT ON location
FOR EACH ROW
EXECUTE PROCEDURE dispo(); |
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.
Quelqu'un pourrait m'aider et aussi m'expliquer le fonctionnement du Return NEW ??
merci d'avance,
KiAhS