当前位置:网站首页>Mysql (17 déclencheurs)

Mysql (17 déclencheurs)

2022-06-10 19:10:00 Friends I

Un peu plus chaque jour,Un peu plus.!!Merci pour

Insérer la description de l'image ici

Insérer la description de l'image ici

Un. Aperçu des déclencheurs

  • MySQLDe 5.0.2 La version prend en charge les déclencheurs.MySQLLes déclencheurs sont les mêmes que les procédures stockées,Sont intégrés dansMySQLUne partie du programme du serveur.
  • Les déclencheurs sont faits par Événements déclenchés Une opération,Ces événements comprennent: INSERT 、 UPDATE 、 DELETE Événements.Un événement est l'action d'un utilisateur ou le déclenchement d'un comportement.Si le déclencheur est défini,Quand la base de données exécute ces déclarations,C'est l'équivalent d'un incident,Oui. Automatique Activez le déclencheur pour effectuer l'opération correspondante.
  • Lors de l'insertion de données dans une table de données、Opérations de mise à jour et de suppression,Lorsque vous avez besoin d'automatiser une certaine logique de base de données,Peut être réalisé en utilisant des déclencheurs.

2. Création de déclencheurs

2.1 Syntaxe-‘Fils unique’

  • Structure grammaticale
CREATE TRIGGER Nom du déclencheur
{BEFORE|AFTER} {
   INSERT|UPDATE|DELETE} ON Nom du tableau
FOR EACH ROW
Bloc d'instruction exécuté par le déclencheur;
  • Description
    • Nom du tableau:Objet représentant la surveillance des déclencheurs
    • BEFORE|AFTER:Indique le temps de déclenchement( Par rapport à l'événement ).
    • INSERT|UPDATE|DELETE: Événement indiquant le départ
      • INSERT —— Déclenché lors de l'insertion d'un enregistrement ;
      • UPDATE —— Déclenché lors de la mise à jour de l'enregistrement .
      • DELETE —— Déclenché lors de la suppression d'un enregistrement .
    • Bloc d'instruction exécuté par le déclencheur:Ça peut être un seulsqlDéclarations,Ou parBEGIN……END Blocs d'énoncés complexes composés de structures .

2.2 Compréhension des cas-‘Triplés’

🪬🪬2.2.1 Cas 1

  • Créer un déclencheur:Créer avec le nombefore_insertDéclencheur pour,Verstest_triggerTable de données avant d'insérer des données,Vers
    test_trigger_logInsérer dans la Feuille de donnéesbefore_insertInformations sur le journal de bord pour.
DELIMITER //
CREATE TRIGGER before_insert
BEFORE INSERT ON test_trigger
FOR EACH ROW
BEGIN
INSERT INTO test_trigger_log (t_log)
VALUES('before_insert');
END //
DELIMITER ;

2.2.2 Cas 2

  • Créer avec le nomafter_insertDéclencheur pour,Verstest_triggerTableau de données après insertion des données,Verstest_trigger_log Insérer dans la fiche technique
    Entréeafter_insertInformations sur le journal de bord pour
DELIMITER //
CREATE TRIGGER after_insert
AFTER INSERT ON test_trigger
FOR EACH ROW
BEGIN
INSERT INTO test_trigger_log (t_log)
VALUES('after_insert');
END //
DELIMITER ;

2.2.3 Cas III

DELIMITER //
CREATE TRIGGER salary_check_trigger
BEFORE INSERT ON employees FOR EACH ROW
BEGIN
DECLARE mgrsalary DOUBLE; 
SELECT salary INTO mgrsalary FROM employees WHERE employee_id = NEW.manager_id;
IF NEW.salary > mgrsalary THEN #NEWLes mots clés représententINSERTAjouter un nouvel enregistrement pour l'instruction
SIGNAL SQLSTATE 'HY000' SET MESSAGE_TEXT = 'Erreur de salaire supérieur au salaire du chef';
END IF;
END //
DELIMITER ;

Trois Voir、Supprimer le déclencheur

3.1 Mode de visualisation-‘Trois frères.’

  • Patron.–Voir la définition de tous les déclencheurs de la base de données actuelle
SHOW TRIGGERS\G
  • La bite.–Voir la définition d'un déclencheur dans la base de données actuelle
SHOE CREATE TRIGGER Nom du déclencheur
  • Vieux!–De la Bibliothèque systèmeinformation_schemaDeTRIGGERSRequête dans le tableau“salary_check_trigger”Informations sur le déclencheur.
SELECT * FROM information_schema.TRIGGERS;

3.2 Supprimer le déclencheur

  • Les déclencheurs sont également des objets de base de données,La suppression des déclencheurs est également utiliséeDROPDéclarations,Le format syntaxique est le suivant::
DROP TRIGGER IF EXISTS Nom du déclencheur;

Quatre Succès et échec du déclencheur

4.1 Oui.

  1. Les déclencheurs assurent l'intégrité des données
  2. Les déclencheurs peuvent nous aider à enregistrer les opérations.
  3. Les déclencheurs peuvent également être utilisés avant de manipuler les données,Vérification de la légalité des données

🧩🧩4.2 Un échec.

  1. Le plus gros problème avec les déclencheurs est la mauvaise lisibilité.
  2. Modifications des données pertinentes,Peut causer une erreur de déclenchement
原网站

版权声明
本文为[Friends I]所创,转载请带上原文链接,感谢
https://yzsam.com/2022/161/202206101815406391.html