hr
スキーマに というテーブルが 1 つありますemployee
。このテーブルに行レベルのトリガーを作成して、employee テーブルの給与を更新しようとするたびに給与が減らないようにする必要があります。
これを試しましたが、エラーが発生します:
エラー レポート: ORA-01748: ここでは単純な列名のみが許可されています 01748. 00000 - "ここでは単純な列名のみが許可されています
CREATE or REPLACE TRIGGER salary_dec_trigger
BEFORE UPDATE OF emp.salary
ON emp
FOR EACH ROW
BEGIN
if(:new.salary>:old.salary)
then
update emp set emp.salary=emp.salary+:new.salary where emp.employee_id=:new.employee_id;
else
rollback;
end if;
END;
/