Un déclencheur est une procédure stockée spéciale qui déclenche l'exécution lors de l'insertion, de la suppression ou de la modification de données dans une table spécifique. Il possède des capacités de contrôle de données plus sophistiquées et complexes que les fonctions standard de la base de données elle-même.
Il présente les caractéristiques suivantes :
Emplacement de surveillance : généralement le nom de la table
Événement de surveillance : mettre à jour/supprimer/insérer
Heure de déclenchement : après/ before
événement déclencheur : update/delete/insert
Il ne peut pas être appelé directement, il est activement exécuté par la base de données.
exemple1 :
Créer un onglet de tableau1
DROP TABLE IF EXISTS tab1; CREATE TABLE tab1( tab1_id varchar(11) );
Créer un onglet de tableau2
DROP TABLE IF EXISTS tab2; CREATE TABLE tab2( tab2_id varchar(11) );
Créer un déclencheur : t_afterinsert_on_tab1
Fonction : Après avoir ajouté les enregistrements dans la table tab1, ajoutez automatiquement les enregistrements à la table tab2
DROP TRIGGER IF EXISTS t_afterinsert_on_tab1; CREATE TRIGGER t_afterinsert_on_tab1 AFTER INSERT ON tab1 FOR EACH ROW BEGIN insert into tab2(tab2_id) values(new.tab1_id); END;
Testez-le
INSERT INTO tab1(tab1_id) values('0001');
SELECT * FROM tab1; SELECT * FROM tab2;
exemple2 :
Créer un déclencheur : t_afterdelete_on_tab1
Fonction : Après avoir supprimé l'enregistrement de la table tab1, l'enregistrement correspondant dans la table tab2 sera automatiquement supprimé
DROP TRIGGER IF EXISTS t_afterdelete_on_tab1; CREATE TRIGGER t_afterdelete_on_tab1 AFTER DELETE ON tab1 FOR EACH ROW BEGIN delete from tab2 where tab2_id=old.tab1_id; END;
Testez
DELETE FROM tab1 WHERE tab1_id='0001';
SELECT * FROM tab1; SELECT * FROM tab2;
Ce qui précède est le contenu de MySQL Advanced 8 - l'utilisation de déclencheurs, plus de contenu connexe Veuillez faire attention au site Web PHP chinois (www.php.cn) !