Rumah >pangkalan data >Oracle >Bagaimana untuk mengaktifkan pencetus pangkalan data oracle
Pencetus pangkalan data Oracle diaktifkan pada operasi DDL (seperti CREATE, ALTER) atau DML (seperti INSERT, UPDATE, DELETE): Operasi DDL mengaktifkan pencetus yang ditakrifkan pada jadual asas. Operasi DML mengaktifkan pencetus yang ditakrifkan pada jadual asas.
Pengaktifan pencetus pangkalan data Oracle
Cara mengaktifkan pencetus
Pencetus pangkalan data Oracle boleh diaktifkan secara automatik dalam dua situasi berikut: 🜎
jadual asas Pencetus yang ditakrifkan pada jadual diaktifkan apabila operasi DDL seperti CREATE, ALTER, TRUNCATE, dll. dilakukan.Untuk menggambarkan pengaktifan pencetus, kami mencipta jadual contoh mudah bersama-sama dengan pencetus yang ditakrifkan pada jadual: <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>
Sekarang, apabila kami cuba mengemas kini jadual pekerja menggunakan operasi DML , pencetus akan diaktifkan dan dilaksanakan:
<code class="sql">-- 尝试更新员工的薪水为负值 UPDATE employees SET salary = -100 WHERE id = 1; -- 触发器将引发错误并回滚操作 ORA-20001: Salary cannot be negative</code>Perhatian
Pencetus pada setiap jadual hanya akan diaktifkan pada operasi DML atau DDL tertentu.
Pencetus boleh ditakrifkan untuk mengaktifkan SEBELUM (sebelum operasi dilaksanakan) atau SELEPAS (selepas operasi dilaksanakan).Atas ialah kandungan terperinci Bagaimana untuk mengaktifkan pencetus pangkalan data oracle. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!