Maison >base de données >tutoriel mysql >MySQL Advanced 8 - Utilisation des déclencheurs

MySQL Advanced 8 - Utilisation des déclencheurs

黄舟
黄舟original
2016-12-29 16:42:471203parcourir

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');


Voir les résultats
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';


et voyez le résultat
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) !


Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn