社長でもマネージャーでもない従業員に 10,000 ドルを超える給与を与えることを禁止するトリガー「restrict_salary」を作成しようとしています。「更新」が列「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;
/