oracle触发器问题创建一个触发器:定义一个before行级触发器,为员工表emp更新工资时定义一个完整性规则job
oracle触发器问题
创建一个触发器:定义一个before行级触发器,为员工表emp更新工资时定义一个完整性规则job为“MANAGER”的工资不得低于2500元,如果低于2500员,自动改为2500元。
create or replace trigger tri_sal_emp
before update on emp
for each row
when(old.job='MANAGER')
declare
asal emp.sal%type;
begin
select emp.sal into asal from emp
where ename= :old.ename;
if asal<2500 then
asal :=2500;
end if;
end;
这个代码写的有问题
求指教,求教育
[解决办法]
create or replace trigger tri_sal_emp
before update on emp
for each row
when(old.job='MANAGER' and new.sal<2500)
begin
:new.sal:=2500;
end tri_sal_emp;
[解决办法]
代码参考:
- SQL code
CREATE OR REPLACE TRIGGER tri_sal_empBEFORE UPDATE ON empFOR EACH ROW WHEN ( job = 'MANAGER')DECLAREasal emp.sal%TYPE;BEGIN IF :NEW.sal < 2500 THEN :New.sal := 2500; END IFEND;
