The following table summarizes the differences between SET QUERY_BAND for a SESSION and for a TRANSACTION with respect to their validity for several SQL entities.
FOR … | SESSION is … | TRANSACTION is … |
---|---|---|
the VOLATILE option | supported | not supported. |
multistatement requests | not supported. | supported. SET QUERY_BAND … FOR TRANSACTION must be the first statement specified in the multistatement request. You can specify only one SET QUERY_BAND … FOR TRANSACTION statement in a multistatement request. |
macros | supported. SET QUERY_BAND … FOR SESSION must be the only statement in the macro. |
supported without restriction. |
SQL procedures | not supported. | supported without restriction. You can also specify SET QUERY_BAND … FOR TRANSACTION as part of a SQL procedure multistatement request. See the row for multistatement requests. |
JDBC | supported, but not for ? parameters. | supported without restriction. |
ODBC | supported, but not for ? parameters. | supported without restriction. |
changing a proxy user within a transaction | not supported. | supported without restriction. |