AFTER UPDATE で実行されるトリガーがあります。思い通りにいかない。
null 許容型のフィールドで値が変更されたかどうかを確認するにはどうすればよいですか? null 許容型の次のフィールドがあります。
FRM_DATE DATE
FRM_TIME DATE
THE_DATE DATE
THE_TIME NUMBER(4,2)
THE_BOOL NUMBER(2)
上記のフィールドの値が実際に変更された場合にのみ、一連のロジックを実行したいと思います。値が同じ場合、コードを実行したくありません。したがって、UI から、フィールドの 1 つに値があり、ユーザーがそれを削除して (現在は NULL になります)、送信ボタンを押した場合、変更が行われたためにロジックを実行したいとします。
私は次のことを試しましたが、私が望むロジックを実行しません:
IF (nvl(:old.FRM_DATE, '') <> nvl(:new.FRM_DATE,'')) THEN
--My logic
END IF;
私も試しました
IF (nvl(:old.FRM_DATE, NULL) <> nvl(:new.FRM_DATE,NULL)) THEN
--My logic
END IF;
何か案は?
敬具、