RELEASE (connection) statement
The RELEASE (Connection) statement places one or more connections in the release-pending state.
Invocation
Although an interactive SQL facility might provide an interface that gives the appearance of interactive execution, this statement can only be embedded within an application program. It is an executable statement that cannot be dynamically prepared.
Authorization
None required.
Syntax
Description
-
server-name or host-variable
- Identifies the application server by the specified server-name or
a host-variable which contains the server-name.
If a host-variable is specified, it must be a character string variable with a length attribute that is not greater than 8, and it must not include an indicator variable. The server-name that is contained within the host-variable must be left-aligned and must not be delimited by quotation marks.
Note that the server-name is a database alias identifying the application server. It must be listed in the application requester's local directory.
The specified database-alias or the database-alias contained in the host variable must identify an existing connection of the application process. If the database-alias does not identify an existing connection, an error (SQLSTATE 08003) is raised.
- CURRENT
- Identifies the current connection of the application process. The application process must be in the connected state. If not, an error (SQLSTATE 08003) is raised.
- ALL or ALL SQL
- Identifies all existing connections of the application process. This form of the RELEASE statement places all existing connections of the application process in the release-pending state. All connections will therefore be destroyed during the next commit operation. An error or warning does not occur if no connections exist when the statement is executed.
Examples
- Example 1: The SQL connection to IBMSTHDB is no longer
needed by the application. The following statement will cause it to
be destroyed during the next commit operation:
EXEC SQL RELEASE IBMSTHDB; - Example 2: The current connection is no longer needed
by the application. The following statement will cause it to be destroyed
during the next commit operation:
EXEC SQL RELEASE CURRENT; - Example 3: If an application has no need to access the
databases after a commit but will continue to run for a while, then
it is better not to tie up those connections unnecessarily. The following
statement can be executed before the commit to ensure all connections
will be destroyed at the commit:
EXEC SQL RELEASE ALL;
