我正在使用Oracle Forms。我有一個名爲SOLD_TO_CUST_PARTY_NAME
的字段。如果我檢測到字段值的變化,我必須執行一個過程。我嘗試過使用when_validate,但即使您只是單擊字段並移動到另一個字段也會執行它(驗證總是會發生,無論您是否更改該值)。無論如何,我可以檢查:old
和:new
或類似的東西來執行一個過程,只有當該字段被修改?Oracle表單中的舊值和新值
編輯: 不能使用個性化設置。它必須用pl/sql
完成。
我正在使用Oracle Forms。我有一個名爲SOLD_TO_CUST_PARTY_NAME
的字段。如果我檢測到字段值的變化,我必須執行一個過程。我嘗試過使用when_validate,但即使您只是單擊字段並移動到另一個字段也會執行它(驗證總是會發生,無論您是否更改該值)。無論如何,我可以檢查:old
和:new
或類似的東西來執行一個過程,只有當該字段被修改?Oracle表單中的舊值和新值
編輯: 不能使用個性化設置。它必須用pl/sql
完成。
有一個稱爲數據庫值的屬性,可以讓您檢查該字段是否已被修改,以及是否只需要退出驗證觸發器。
Ex。
BEGIN IF :BLOCK.ITEM = GET_ITEM_PROPERTY('BLOCK.ITEM', database_value) THEN RETURN; END IF; /* VALIDATION */ END;
我想這個構造也用於處理空值。一個簡單的 IF:BLOCK.ITEM!= GET_ITEM_PROPERTY('BLOCK.ITEM',database_value)THEN /* VALIDATION */ END IF; 不會處理這些。 – Rene
when-validate只會在有更改時觸發,否則不會觸發。某物正在清理您的物品並重新填充它 – Sathya