Oracle system.message_level
在ON-ERROR或是ON-MESSAGE這兩個Trigger裡,我們可以依據不同的層級來將不同的訊息給封鎖。
MESSAGE_LEVEL:
Set to 0, 5, 10, 15, 20, 25 to suppress all messages with severity below this level. The default level is 0. Messages with a level higher than 25 cannot be suppressed. See the "Forms Error Messages Manual" for more details about the various MESSAGE_LEVEL's:
0 - Default value. All types of messages from the other levels of severity.
5 - Reaffirms an obvious condition.
10 - Indicates that the operator has made a procedural mistake.
15 - Declares that the operator is attempting to perform a function for which the form is not designed.
20 - Indicates a condition where the operator cannot continue an intended action due to a problem with a trigger or another outstanding condition.
25 - Indicates a condition that could result in the form performing incorrectly.
25 - Indicates a message severity level that you cannot suppress via the SYSTEM.MESSAGE_LEVEL system variable.
:SYSTEM.MESSAGE_LEVEL := '25';
COMMIT;
:SYSTEM.MESSAGE_LEVEL := '0';
/* For suppressing FRM-40100: At first record. */
:SYSTEM.MESSAGE_LEVEL := '5';
FIRST_RECORD;
:SYSTEM.MESSAGE_LEVEL := '0';
/* For suppressing FRM-40350: Query caused no records to be retrieved. */
:SYSTEM.MESSAGE_LEVEL := '5';
EXECUTE_QUERY;
:SYSTEM.MESSAGE_LEVEL := '0';