Concept : Le déclencheur est une méthode fournie par le serveur SQL aux programmeurs et aux analystes de données pour garantir l'intégrité des données. Il s'agit d'une procédure stockée spéciale liée aux événements de table. Son exécution n'est pas appelée par un programme ni démarrée manuellement. , mais est déclenché par des événements. Par exemple, lorsqu'une table est exploitée (insertion, suppression, mise à jour), son exécution sera activée. Les déclencheurs sont souvent utilisés pour appliquer des contraintes d’intégrité des données et des règles métier. Les informations relatives aux déclencheurs peuvent être obtenues en interrogeant le dictionnaire de données DBA_TRIGGERS et USER_TRIGGERS. Un déclencheur SQL3 est une instruction qui peut être automatiquement exécutée par le système pour modifier la base de données.
En termes simples, un déclencheur est un dispositif de déclenchement et une opération est stockée dans l'appareil. Une fois certaines conditions atteintes, l'appareil se déclenchera et effectuera les actions qui y sont stockées.
Établir une instance de déclencheur (mot clé : trigger)
Exemple 1 : Créer une table utilisateur (utilisateur ID, nom d'utilisateur), créer un déclencheur (lorsque les données sont insérées dans la table utilisateur, un identifiant globalement unique est automatiquement généré)
Créez d'abord la table utilisateur
create table user( id int PRIMARY KEY, name varchar(20) );
# 🎜 🎜#
Créer un déclencheur-- 建立触发器名为tt create TRIGGER tt -- 触发条件,向user表中插入数据时启动触发器 BEFORE insert on user -- 检查表中每一行,对新插入的数据进行操作 for EACH ROW -- 执行操作 BEGIN set new.id=UUID(); END
Effet : Insérez trois noms d'utilisateur dans le tableau et générez automatiquement trois identifiants
insert user(name) VALUE('张三'),('李四'),('王五')
Exemple 2 : Créez un commandez la table DD (ID de commande, nom du produit, ID utilisateur), et créez un déclencheur tq1 (lorsqu'un utilisateur est supprimé, la commande de l'utilisateur sera également supprimée) Créer une table
create table DD( ddid int PRIMARY KEY, ddname VARCHAR(20), userid VARCHAR(50) )
#🎜 🎜## 🎜🎜#
Créer un déclencheurdelimiter $ -- 建立触发器名为tq create TRIGGER tq1 -- 触发条件,再dd表删除数据之后启动触发器 AFTER DELETE on user -- 检查表中每一行,对新插入的数据进行操作 for EACH ROW -- 执行操作 BEGIN DELETE FROM dd WHERE old.id=userid; END $ delimiter ;
# 🎜🎜#
Effet : supprimez l'utilisateur dans la table user et les enregistrements de la table dd seront également supprimés 🎜#
Les déclencheurs peuvent remplacer complètement les clés étrangères. ? L'effet, cela signifie-t-il que les déclencheurs peuvent faire tout ce que les clés étrangères peuvent faire, et que les déclencheurs qui ne peuvent pas être effectués par des clés étrangères peuvent également le faire ?
Par rapport aux clés étrangères, les déclencheurs ont une plus grande flexibilité et plus de fonctions, et peuvent exécuter plus de fonctions. Dans une certaine mesure, ils peuvent remplacer les clés étrangères et implémenter des clés étrangères. fonction.
Les déclencheurs peuvent être utilisés pour renforcer l'intégrité référentielle, garantissant que lorsque des lignes sont ajoutées, mises à jour ou supprimées dans plusieurs tables, les définitions entre ces tables sont maintenues. Définir les contraintes de clé primaire et de clé étrangère est le meilleur moyen de garantir l’intégrité référentielle. À l'aide de diagrammes de relations dans une base de données, des contraintes de clé étrangère peuvent être automatiquement créées en établissant des relations entre les tables.
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!