create trigger ghazal_current_bef_upd_row
before update on ghazal_current
for each row
when (new.Rating < old.Rating)
begin
insert into ghazal_current_audit
(GhazalName,Old_Rating,New_Rating)
values
(:old.GhazalName,:old.Rating,:new.Rating);
end;
私は次のエラーを取得する:
Error report:
ORA-04089: cannot create triggers on objects owned by SYS
04089. 00000 - "cannot create triggers on objects owned by SYS"
*Cause: An attempt was made to create a trigger on an object owned by SYS.
*Action: Do not create triggers on objects owned by SYS.
ghazals_current
とghazal_current_audit
という名前のテーブルがSYS
によって作成された両方。 SYS
によって作成されたテーブルにトリガーを作成できないのはなぜですか?
Oracleでは、SYSが所有するオブジェクトに対してトリガーを作成することはできません。 –
SYSスキーマでユーザーベースのトリガーを作成することは、まったく推奨されていません。新しいスキーマにテーブル、トリガ、その他のオブジェクトを作成しないでください。 – user75ponic