Allows you to control the error reporting behavior when a COMMIT
or ROLLBACK statement is executed although there is no active
transaction. By default, if there is no active transaction, SQL
raises an error when a COMMIT or ROLLBACK statement is executed.
If the SET QUIET COMMIT statement is set to ON, then a COMMIT or
ROLLBACK statement executes successfully even when there is no
active transaction.
1 – Environment
You can use the SET QUIET COMMIT statement:
o In interactive SQL
o In dynamic SQL as a statement to be dynamically executed
2 – Format
SET QUIET COMMIT ---> on-or-off-value
3 – Arguments
3.1 – on-or-off-value
Specifies a string literal or host variable containing the
keyword ON or OFF.
The 'ON' argument specifies that if a COMMIT or ROLLBACK
statement is executed when there is no active transaction, then
SQL will not raise an error. The 'OFF' argument specifies that
if a COMMIT or ROLLBACK statement is executed when there is
no active transaction, then SQL will raise an error. You can
specify the 'ON' and 'OFF' arguments using any case (uppercase,
lowercase, or mixed case).
By default, if there is no active transaction, SQL raises an
error when the COMMIT or ROLLBACK statement is executed. This
default is retained for backward compatibility for applications
that want to detect this situation.
4 – Example
Example 1: Setting the QUIET COMMIT Option On and Off
SQL> COMMIT;
%SQL-F-NO_TXNOUT, No transaction outstanding
SQL> SET QUIET COMMIT 'ON';
SQL> ROLLBACK;
SQL> SET QUIET COMMIT 'OFF';
SQL> ROLLBACK;
%SQL-F-NO_TXNOUT, No transaction outstanding