Aborting SQL Requests
If an error is found in a request, that request is aborted. Normally, the entire transaction is not aborted. However, some failures will abort the entire transaction.
A single statement or multistatement request that does not include the BEGIN TRANSACTION and END TRANSACTION statements is treated as an implicit transaction. If an error is found in any statement in this type of request, then the entire transaction is aborted.
Following are the steps for abort processing:
1 Back out any changes made to the database as a result of any preceding statements in the transaction.
2 Delete any associated spooled output.
3 Release any associated locks.
4 Bypass any remaining statements in the transaction.
A request is considered to have completed when either an End of Text character or the request terminator is encountered. The request terminator is a SEMICOLON character. It is the last nonpad character on an input line.
A request terminator is optional except when the request is embedded in an SQL macro or trigger or when it is entered through BTEQ.