Oracle-Datenbank-Trigger werden bei DDL- (wie CREATE, ALTER) oder DML- (wie INSERT, UPDATE, DELETE) Vorgängen aktiviert: DDL-Vorgänge aktivieren Trigger, die für die zugrunde liegende Tabelle definiert sind. DML-Vorgänge aktivieren Trigger, die für die zugrunde liegende Tabelle definiert sind. „Aktivierung von Oracle-Datenbank-Triggern“ Die in der Tabelle definierten Tabellen werden aktiviert, wenn DDL-Vorgänge wie CREATE, ALTER, TRUNCATE usw. ausgeführt werden.
DML-Operationen: Wenn DML-Operationen wie INSERT, UPDATE, DELETE usw. für die zugrunde liegende Tabelle ausgeführt werden, werden die für die Tabelle definierten Trigger aktiviert.
Trigger-Aktivierungsbeispiel
Um die Aktivierung eines Triggers zu veranschaulichen, erstellen wir eine einfache Beispieltabelle zusammen mit einem in der Tabelle definierten Trigger:
<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>Jetzt versuchen wir, die Mitarbeitertabelle mithilfe einer DML-Operation zu aktualisieren , wird der Trigger aktiviert und ausgeführt:
<code class="sql">-- 尝试更新员工的薪水为负值 UPDATE employees SET salary = -100 WHERE id = 1; -- 触发器将引发错误并回滚操作 ORA-20001: Salary cannot be negative</code>
Trigger können verwendet werden, um Integritätseinschränkungen durchzusetzen, Geschäftslogik auszuführen oder Änderungen an Tabellen zu protokollieren.
Das obige ist der detaillierte Inhalt vonSo aktivieren Sie den Oracle-Datenbank-Trigger. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!