我正在尝试编写一个触发器“restrict_salary”,它禁止向既不是总裁也不是经理的员工发放超过 10,000 美元的薪水。如果“更新”不影响“sal”列,则不应触发触发器。之后想着制作触发器禁止也增加了9%以上。我已经尝试了一些东西,但我被卡住了,这是我的代码。
CREATE OR REPLACE TRIGGER restrict_salary
BEFORE
UPDATE OF sal
ON EMP
REFERENCING emp AS new_emp
FOR EACH ROW
WHEN (sal > 10000)
BEGIN
DECLARE job VARCHAR2(30);
select job into job from ename;
IF job!='MANAGER' OR job != 'PRESIDENT' THEN
raise_application_error (-20002, 'Cannot attribute more than 10000 dollars ');
END IF;
END;
/