Les déclencheurs de base de données Oracle sont activés sur les opérations DDL (telles que CREATE, ALTER) ou DML (telles que INSERT, UPDATE, DELETE) : les opérations DDL activent les déclencheurs définis sur la table sous-jacente. Les opérations DML activent les déclencheurs définis sur la table sous-jacente.
Activation des déclencheurs de base de données Oracle
Comment activer les déclencheurs
Les déclencheurs de base de données Oracle peuvent être automatiquement activés dans les deux situations suivantes :
Exemple d'activation de déclencheur
Pour illustrer l'activation d'un déclencheur, nous créons un exemple de table simple avec un déclencheur défini sur la table :
<code class="sql">-- 创建示例表 CREATE TABLE employees ( id NUMBER PRIMARY KEY, name VARCHAR2(50), salary NUMBER ); -- 定义触发器 CREATE TRIGGER salary_check BEFORE UPDATE ON employees FOR EACH ROW BEGIN IF NEW.salary < 0 THEN RAISE_APPLICATION_ERROR(-20001, 'Salary cannot be negative'); END IF; END;</code>
Maintenant, lorsque nous essayons de mettre à jour la table des employés à l'aide d'une opération DML , le déclencheur sera activé et exécuté :
<code class="sql">-- 尝试更新员工的薪水为负值 UPDATE employees SET salary = -100 WHERE id = 1; -- 触发器将引发错误并回滚操作 ORA-20001: Salary cannot be negative</code>
Points à noter
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!