Maison >base de données >SQL >L'utilisation et la syntaxe des déclencheurs SQL
Un déclencheur est un code de base de données qui s'exécute automatiquement lorsqu'un événement spécifique (insertion, mise à jour, suppression) se produit. La syntaxe du déclencheur comprend le nom du déclencheur, le nom de la table, l'heure de déclenchement (AVANT/APRÈS) et le type d'événement (INSERT/UPDATE/DELETE). Les types de déclencheurs incluent AVANT et APRÈS, et les types d'événements incluent INSERT, UPDATE et DELETE. Les déclencheurs peuvent être utilisés pour la vérification de l'intégrité des données, la journalisation d'audit, les tâches automatisées et la logique métier. Par exemple, vous pouvez créer un déclencheur pour enregistrer l'heure d'insertion lorsqu'une nouvelle ligne est insérée afin de garantir la cohérence des données.
Utilisation et syntaxe des déclencheurs SQL
Qu'est-ce qu'un déclencheur ?
Un déclencheur est un morceau de code dans la base de données qui déclenche automatiquement l'exécution lorsqu'un événement spécifique se produit dans la base de données. Ils sont utilisés pour effectuer des actions personnalisées lorsque les données changent.
La syntaxe des déclencheurs
La syntaxe des déclencheurs en SQL est la suivante :
<code>CREATE TRIGGER trigger_name ON table_name FOR INSERT | UPDATE | DELETE AS BEGIN -- 触发器代码... END;</code>
Types de déclencheurs
Selon le timing de déclenchement, les déclencheurs peuvent être divisés dans les types suivants :
AVANT code> Déclencheur : exécuter avant que l'événement ne se produise.
BEFORE
触发器:在事件发生之前执行。AFTER
触发器:在事件发生之后执行。根据事件类型,触发器可分为:
INSERT
触发器:在插入新行时触发。UPDATE
触发器:在更新现有行时触发。DELETE
触发器:在删除行时触发。触发器的使用场景
触发器广泛用于以下场景:
示例
以下是一个示例触发器,用于在向 users
表中插入新行时记录插入时间:
<code class="sql">CREATE TRIGGER insert_timestamp BEFORE INSERT ON users AS BEGIN SET NEW.created_at = CURRENT_TIMESTAMP(); END;</code>
当插入新行到 users
表时,insert_timestamp
触发器会在插入之前执行,并自动将当前时间戳设置为新建行的 created_at
AFTER
Trigger : exécuté après que l'événement se soit produit.
INSERT
Déclencheur : déclenché lorsqu'une nouvelle ligne est insérée. 🎜UPDATE
Déclencheur : se déclenche lorsqu'une ligne existante est mise à jour. 🎜DELETE
Déclencheur : se déclenche lorsqu'une ligne est supprimée. 🎜🎜Scénarios d'utilisation des déclencheurs🎜🎜🎜Les déclencheurs sont largement utilisés dans les scénarios suivants : 🎜🎜🎜🎜Vérification de l'intégrité des données : 🎜Assurer que les données sont conformes à des règles spécifiques (par exemple, des contraintes non nulles , contrainte d'unicité). 🎜🎜Audit et journalisation : 🎜Suivez les modifications dans la base de données et enregistrez l'activité des utilisateurs. 🎜🎜Tâches automatisées : 🎜Effectuez automatiquement des tâches spécifiques lorsque les données changent (par exemple, envoyer des notifications par e-mail). 🎜🎜Logique métier : 🎜Implémentez des règles métier complexes, telles que le calcul de colonnes dérivées ou la gestion de tables associées. 🎜🎜Exemple🎜🎜🎜Ce qui suit est un exemple de déclencheur pour enregistrer le temps d'insertion lorsqu'une nouvelle ligne est insérée dans la table users
: 🎜rrreee🎜Lorsqu'une nouvelle ligne est inséré Lors de l'accès à la table users
, le déclencheur insert_timestamp
s'exécute avant l'insertion et définit automatiquement l'horodatage actuel sur le champ created_at
de la nouvelle ligne . 🎜Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!