代码检查:在触发器中使用事务管理语句
报告触发器主体中事务管理语句(如 COMMIT 或 ROLLBACK)的使用情况。
在触发器主体中使用 COMMIT 或 ROLLBACK 语句,触发器将无法编译。失败是因为触发器在事务期间启动。当触发器启动时,当前事务仍未完成。当 COMMIT 终止事务时,两个语句(COMMIT 和 ROLLBACK)都会导致异常。在触发器中执行的更改应该由启动触发器的拥有事务提交(或回滚)。示例(甲骨文):CREATE TABLE employee_audit (id INT NOT NULL, update_date DATE NOT NULL, old_name VARCHAR2(100), new_name VARCHAR2(100)); CREATE TABLE 员工(id INT NOT NULL,姓名 VARCHAR2(100) NOT NULL);在每行更新员工姓名后创建或替换触发器 trig_commit 插入employee_audit VALUES (:old.id, SYSDATE, :old.name, :new.name); 犯罪; 结尾; 在每行更新员工姓名后创建或替换触发器 trig_rollback 开始插入employee_audit VALUES (:old.id, SYSDATE, :old.name, :new.name); 回滚;结尾;
禁止编辑器中的检查
将插入符号放在突出显示的行上,然后按Alt+Enter或单击。
单击要抑制的检查旁边的箭头,然后选择必要的抑制操作。
最后修改:2022 年 2 月 11 日