HPlogo ALLBASE/SQL Reference Manual: HP 9000 Computer Systems > Chapter 10 SQL Statements A - D

DISCONNECT

» 

Technical documentation

Complete book in PDF
» Feedback

 » Table of Contents

 » Index

The DISCONNECT statement terminates a connection with a DBEnvironment or terminates all DBEnvironment connections established within an application or an ISQL session.

Scope

ISQL or Application Programs

SQL Syntax

  DISCONNECT {'ConnectionName'
              'DBEnvironmentName'
              :HostVariable
              ALL 
              CURRENT            }

Parameters

ConnectionName

is a string literal identifying the name associated with this connection. ConnectionName must be unique for each DBEnvironment connection within an application (or ISQL). ConnectionName cannot exceed 128 bytes.

'DBEnvironmentName'

is the DBEnvironment to which you have connected to using a CONNECT TO 'DBEnvironmentName' statement.

HostVariable

is a character string host variable containing the ConnectionName associated with this connection.

ALL

specifies that all DBEnvironment connections in effect (for an application or an ISQL session) are to be terminated.

CURRENT

specifies that the current connection is to be terminated. Within an application (or ISQL), the current connection to a DBEnvironment is set by the most recent statement that connects to or sets the connection to the DBEnvironment. If there is no current connection in effect, an error is generated.

Description

  • If a ConnectionName refers to a DBEnvironment that is not the one associated with the current connection, the specified connection is terminated, and the context of the currently connected DBEnvironment remains unchanged.

  • Any active transaction associated with a connection is rolled back before the connection is terminated.

  • No stored section is created for the DISCONNECT statement. DISCONNECT cannot be used with the PREPARE or EXECUTE IMMEDIATE statements.

  • An active transaction is not required to execute a DISCONNECT statement. An automatic transaction will not be started when executing a DISCONNECT statement.

  • Any connection name associated with a disconnected connection can be reused.

  • A DISCONNECT CURRENT statement is equivalent to a RELEASE statement.

  • Following a RELEASE or DISCONNECT CURRENT command, there is no current connection until a SET CONNECTION command is used to set the current connection to another existing connection, or a new connection is established by using the CONNECT, START DBE, START DBE NEW, or START DBE NEW LOG commands.

Authorization

You do not need authorization to use the DISCONNECT statement.

Example

Connect three times to PartsDBE and once to SalesDBE:

   CONNECT TO :PartsDBE AS 'Parts1'
   CONNECT TO :PartsDBE AS 'Parts2'
   CONNECT TO :PartsDBE AS 'Parts3'
   CONNECT TO :SalesDBE AS 'Sales1'
   .
   .
   .

Terminate the connection associated with connection name Parts1:

   DISCONNECT 'Parts1'

Terminate the connection associated with the most recently connected DBEnvironment (the current connection). Following the execution of this statement, SalesDBE is no longer connected, and no current connection exists:

   DISCONNECT CURRENT

Note that another DISCONNECT CURRENT statement at this point would generate an error. Also any SQL statement that operates on a transaction will fail since there is no current connection and therefore no current transaction.

Set the current connection to Parts3:

   SET CONNECTION 'Parts3'

Terminate the connection associated with the most recently connected DBE (the current connection). Following the execution of this statement, the Parts3 connection to PartsDBE no longer exists, and no current connection exists:

   DISCONNECT CURRENT

Terminate all established connections. Following this statement, the Parts2 connection to PartsDBE no longer exists:

   DISCONNECT ALL
Feedback to webmaster