Rumah >pangkalan data >Oracle >Bagaimana untuk mengaktifkan pencetus pangkalan data oracle

Bagaimana untuk mengaktifkan pencetus pangkalan data oracle

下次还敢
下次还敢asal
2024-04-07 16:42:25817semak imbas

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.

Bagaimana untuk mengaktifkan pencetus pangkalan data oracle

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.
  1. Operasi DML: Apabila operasi DML seperti INSERT, UPDATE, DELETE, dsb. dilakukan pada jadual asas, pencetus yang ditakrifkan pada jadual akan diaktifkan.
  2. Contoh pengaktifan pencetus

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).
  • Pencetus boleh diaktifkan selepas operasi INSERT, UPDATE, DELETE atau DDL.
  • Pencetus boleh digunakan untuk menguatkuasakan kekangan integriti, melaksanakan logik perniagaan atau log perubahan pada jadual.

Atas ialah kandungan terperinci Bagaimana untuk mengaktifkan pencetus pangkalan data oracle. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn