CREATETRIGGERcheckPrixProduitAvantInsertBEFOREINSERTON produitsFOR EACH ROWBEGINIF NEW.prix <1THEN SIGNAL SQLSTATE '45000'SET MESSAGE_TEXT ='Le prix du produit doit être supérieur à 1.';ENDIF;END;
Exercice 2 :
Solution :
CREATETRIGGERlogCommandesUpdateAFTERUPDATEON commandesFOR EACH ROWBEGININSERT INTO historique_commandes (id_commande, ancien_montant, nouveau_montant, date_modification)VALUES (OLD.id_commande, OLD.montant_total, NEW.montant_total, NOW());END;
Exercice 3 :
Solution :
CREATETRIGGERarchiveBeforeDeleteUserBEFOREDELETEON utilisateursFOR EACH ROWBEGININSERT INTO archive_utilisateurs (id_utilisateur, nom, email)VALUES (OLD.id_utilisateur, OLD.nom, OLD.email);END;