In order to preserve transactional atomicity, database-side JDBC
procedures that use nested connections have the following limitations.
- Cannot issue a commit or rollback, unless called within a CALL statement.
- Cannot change connection attributes such as auto-commit.
- Cannot modify the data in a table used by the parent statement that called
the procedure, using INSERT, UPDATE, or DELETE. For example, if a SELECT statement
using the T table calls the changeTables procedure, changeTables cannot
modify data in the T table.
- Cannot drop a table used by the statement that called the procedure.
- Cannot be in a class whose static initializer executes DDL statements.
In addition, the Connection object that represents the nested connection
always has its auto-commit mode set to false.