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.
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 above.
|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.|