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