Exercice SQL : Triggers

Complétez les requêtes SQL pour créer et supprimer des triggers. Répondez ensuite aux questions sur l'utilisation des triggers pour automatiser des actions dans la base de données.

1. Utilisation de CREATE TRIGGER (BEFORE INSERT) :

Complétez la requête pour créer un trigger nommé before_insert_clients qui s'exécute avant chaque insertion dans la table Clients. Il doit vérifier que l'email n'est pas vide.


CREATE TRIGGER 
BEFORE INSERT ON 
FOR EACH ROW
BEGIN
    IF  THEN
        SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT = 'Email requis';
    END IF;
END;
                

2. Utilisation de CREATE TRIGGER (AFTER UPDATE) :

Complétez la requête pour créer un trigger nommé after_update_commandes qui s'exécute après chaque mise à jour de la table Commandes. Il doit enregistrer l'ancienne valeur du montant dans une table HistoriqueCommandes.


CREATE TRIGGER 
AFTER UPDATE ON 
FOR EACH ROW
BEGIN
    INSERT INTO (commande_id, ancien_montant)
    VALUES(OLD., OLD.);
END;
                

3. Utilisation de DROP TRIGGER :

Complétez la requête pour supprimer le trigger nommé before_insert_clients de la base de données.


DROP TRIGGER ;
                

Questions sur les commandes SQL de triggers :