Form_Success

Note:  

FORM_SUCCESS should not be used to test whether a COMMIT_FORM or POST built-in has succeeded.  

Because COMMIT_FORM may cause many other triggers to fire, when you evaluate FORM_SUCCESS it may not reflect the status of COMMIT_FORM but of some other, more recently executed built-in.  

A more accurate technique is to check that the SYSTEM.FORM_STATUS variable is set to 'QUERY' after the operation is done.

用form_success判断form是否没有错误,在某些时候是不能完全检测到form的错误。

比较正确的做法是对system.form_status是否是query进行判断。

IF Form_Success THEN

    Commit;

    IF :System.Form_Status <> 'QUERY' THEN

      Message('Error prevented Commit');

      RAISE Form_Trigger_Failure;

    END IF;

 END IF;

有时候看情况是否要增加SQLCODE的判断

IF form_success or SQLCODE = 0 THEN

原文地址:https://www.cnblogs.com/benio/p/2267018.html