From 254b229f8609cf31776cc95ebf872fe24959bb52 Mon Sep 17 00:00:00 2001 From: Justine Ouellette <justine.ouellette@polymtl.ca> Date: Wed, 19 Apr 2023 22:22:16 -0400 Subject: [PATCH] trigger done but not tested --- trigger.sql | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 trigger.sql diff --git a/trigger.sql b/trigger.sql new file mode 100644 index 0000000..73cc682 --- /dev/null +++ b/trigger.sql @@ -0,0 +1,32 @@ +CREATE TRIGGER max_odometre_atteint AFTER UPDATE OF odometre ON vehicule +REFERENCING OLD TABLE AS voiture +WHEN (NEW.odometre >= caracteristiques_vehicule.odometre_max FROM vehicule JOIN caracteristiques_vehicule ON vehicule.type = caracteristiques_vehicule.type) +EXECUTE FUNCTION vendre_vehicule(); + +CREATE FUNCTION vendre_vehicule() RETURNS trigger AS $test$ +BEGIN + CREATE TABLE avendre ( + immatriculation TypeImmatriculation, + marque TypeTexteCourt, + modele TypeTexteCourt, + odometre INT NOT NULL, + date_mise_en_service DATE NOT NULL, + consommation FLOAT NOT NULL, + "type" TypeVehicule NOT NULL, + kw_recharge FLOAT, + ); + INSERT INTO avendre ( + SELECT + voiture.immatriculation, + voiture.marque, + voiture.modele, + voiture.odometre, + voiture.date_mise_en_service, + voiture.consommation, + voiture.type, + voiture.kw_recharge + FROM voiture + ); +END; +$test$ +LANGUAGE plpgsql; \ No newline at end of file -- GitLab