create or replace trigger t1
before update of sal,comm on emp
for each row
begin
if :new.sal+:new.comm >20000 then
raise_application_error(-20010,'总工资太高');
end if;
end;
语句没报错但修改数据不触发是为什么?
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
1条回答 默认 最新
CZ__ 2018-10-10 08:13关注我执行没有问题,正常触发异常
CREATE OR REPLACE TRIGGER t1 BEFORE UPDATE OF sal,comm ON emp FOR EACH ROW BEGIN IF :new.sal+:new.comm > 20000 THEN raise_application_error(-20010,'总工资太高'); END IF; END;Script Output输出的信息:
Error starting at line : 661 in command - UPDATE emp SET sal=18000,comm=3000 WHERE id=1 Error report - SQL Error: ORA-20010: 总工资太高 ORA-06512: at "IIS.T1", line 3 ORA-04088: error during execution of trigger 'IIS.T1'解决 无用评论 打赏 举报