【发布时间】:2021-10-12 15:23:06
【问题描述】:
我想停止将数据更新到我的 bb_tax 表中,并将这些数据存储到我的 tax_change_info 表中。我写了这个触发器。但是如果我提出错误,我的 tax_change_info 表中不会插入任何内容。它毫无例外地工作,但它会将数据更新到我不想要的 bb_tax 中。 我应该如何编写触发器来实现这一点?
这是我的触发器。
CREATE OR REPLACE TRIGGER CHECK_TAX_RATE
BEFORE UPDATE OF taxrate
ON BB_TAX
FOR EACH ROW
DECLARE
v_user varchar(50);
BEGIN
select user into v_user from dual;
INSERT INTO TAX_CHANGE_INFO VALUES(v_user,:OLD.TAXRATE, :NEW.TAXRATE);
dbms_output.put_line('insert done');
RAISE_APPLICATION_ERROR(-20505,'You are not allowed to update taxes.');
END;
【问题讨论】: