for each row 场景中两个关键字 :old ,:new
:old.字段名 获取修改前的值
:new.字段名 获取修改后的值
场景1:更改员工的薪资时,不能小于原薪资。
create or replace trigger trig
after update on emp20
for each row
begin
if(:old.sal > :new.sal) then
raise_application_error(-20000,'新薪资不能少于原薪资');
end if;
end;
场景2:更改部门表的时候,级联修改员工表的部门。
create or replace trigger trig
after update on dept for each row
begin
update emp20 set deptno=:NEW.deptno where deptno=:OLD.deptno;
end;
注意:触发器中不能存在commit或者是rollback;否则报错
--查看用户下的触发器
select * from user_triggers;
--通过触发器名称,查找其源码
select * from all_source where type = 'TRIGGER' and name = 'TRIG1';