Maison > base de données > Oracle > le corps du texte

Comment activer le déclencheur de base de données Oracle

下次还敢
Libérer: 2024-04-07 16:42:25
original
747 Les gens l'ont consulté

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.

Comment activer le déclencheur de base de données Oracle

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 :

  1. Opération DDL : lors du traitement de la table sous-jacente. définis sur la table sont activés lorsque des opérations DDL telles que CREATE, ALTER, TRUNCATE, etc. sont effectuées.
  2. Opérations DML : Lorsque des opérations DML telles que INSERT, UPDATE, DELETE, etc. sont effectuées sur la table sous-jacente, les déclencheurs définis sur la table seront activés.

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>
Copier après la connexion

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>
Copier après la connexion

Points à noter

  • Les déclencheurs sur chaque table ne s'activeront que sur des opérations DML ou DDL spécifiques.
  • Des déclencheurs peuvent être définis pour s'activer AVANT (avant l'exécution de l'opération) ou APRÈS (après l'exécution de l'opération).
  • Les déclencheurs peuvent être activés après les opérations INSERT, UPDATE, DELETE ou DDL.
  • Les déclencheurs peuvent être utilisés pour appliquer des contraintes d'intégrité, exécuter une logique métier ou enregistrer les modifications apportées à une table.

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!