我有一个在更新后执行的触发器。它不像我想要的那样工作。
我将如何检查可空类型的字段上的值是否已更改?我有以下可为空类型的字段:
FRM_DATE DATE
FRM_TIME DATE
THE_DATE DATE
THE_TIME NUMBER(4,2)
THE_BOOL NUMBER(2)
只有当上述字段的值实际发生变化时,我才想执行一组逻辑。如果值相同,那么我不想编写代码来执行。因此,从 UI 来看,假设其中一个字段具有值并且用户将其删除(它现在变为 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;
有任何想法吗?
亲切的问候,