0
在Oracle Forms 10g中,我在WHEN-VALIDATE-RECORD触发器中具有以下代码。Oracle Forms弹出窗口多次出现
if(some_condition > 0) then
message('test');
RAISE FORM_TRIGGER_FAILURE;
end if;
问题是message('test');
多次出现。我怎样才能确保它只出现一次。
在Oracle Forms 10g中,我在WHEN-VALIDATE-RECORD触发器中具有以下代码。Oracle Forms弹出窗口多次出现
if(some_condition > 0) then
message('test');
RAISE FORM_TRIGGER_FAILURE;
end if;
问题是message('test');
多次出现。我怎样才能确保它只出现一次。
触发器WHEN-VALIDATE-RECORD
将关闭需要验证的记录after leaving the record
或按commit
。
在你的情况下,我假设消息出现在commit
和你的changed
后面的所有行或至少多于一个,例如post-query
触发器。
因为多于一行被更改,触发器将触发所有这些行,并且您将多次获取该消息。
试着在查询记录之后立即修改任何提交内容。 应该说没有什么改变提交。如果它只提交例如10行,那么这是你的问题。