-2

別のトリガーをアクティブにするトリガーを作成することは可能ですか?または、2つのトリガーを1つのトリガーに入れることはできますか?

4

2 に答える 2

0

有効にするには、以下を追加するだけです

ALTER TRIGGER トリガー名 ENABLE

または無効にする

ALTER TRIGGER トリガー名 DISABLE

于 2012-12-26T06:32:26.503 に答える
0

テーブルに対して適切な DML が発行されると、トリガーが起動します。トリガーを呼び出すという概念はありません。

異なるイベント間でコードを共有したい場合、それは簡単です:

create or replace trigger ins_upd_emp 
before insert or update on emp
for each row
begin
     --  do this only for new records
     if inserting then
          :new.id := emp_seq.nextval;
     end if;

     --  do this for all records
     :new.last_activity_user := user;
     :new.last_activity_date := sysdate;
end;

INSERTING キーワードが 1 つのイベントのアクティビティを分離する方法に注意してください。これらのキーワードは、すべてではなく一部のアクションを共有したい場合に使用します。 詳細をご覧ください

トリガーの呼び出しは制御できないため、トリガーによってひどい混乱が生じる可能性があることを覚えておいてください。トリガーは、最も単純な操作にのみ使用してください。トリガーに複雑なロジックを組み込むことは、いくつかの理由で良くありません。

  1. 複数行のステートメントではパフォーマンスが低下する可能性があります
  2. トリガーは見えません。開発者は、問題を診断するときに常にそれらをチェックするのを忘れています
  3. トリガーに想定されていないことをさせると、恐ろしいクラッジにつながります。
于 2012-11-15T07:17:59.987 に答える