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_emp
BEFORE UPDATE ON emp
FOR EACH ROW
WHEN ( job = 'MANAGER')
DECLARE
asal emp.sal%TYPE;
BEGIN
IF :NEW.sal < 2500 THEN
:New.sal := 2500;
END IF
END;