0

tableAFTER UPDATEの列を更新するためのトリガーを書きました。誰かが同じテーブルの列を更新しようとすると、トリガーが起動するはずです。のデフォルト値はです。トリガーはそれを に更新する必要があります。abc_xyzABCans_modeabc_xyz01

CREATE OR REPLACE TRIGGER switchtrigger
   AFTER UPDATE OF ans_mode
   ON ABC
BEGIN
   UPDATE ABC
      SET abc_xyz = 1
   WHERE abc_xyz= 0 AND ;
END;

AND特定の行のみを更新するように条件を記述しようとしています。

4

1 に答える 1

2

上記のトリガーは、行トリガーではなくステートメント トリガーです。IMO :NEW 値を必要な値に変更できるように、これを BEFORE UPDATE 行トリガーにすることをお勧めします。

CREATE OR REPLACE TRIGGER SWITCHTRIGGER
   BEFORE UPDATE OF ANS_MODE ON ABC
   FOR EACH ROW
BEGIN
  IF :OLD.ABC_XYZ = 0 THEN
    :NEW.ABC_XYZ := 1;
  END IF;
END;

共有してお楽しみください。

于 2013-06-20T10:59:34.020 に答える