Example 1: Creating a default connection and two other connections The following log file from an interactive SQL connection shows three databases attachments: personnel_northwest, personnel_ northeast, and personnel_southeast. (By not specifying an alias for personnel_northwest, the default alias is assigned.) Several connections are established, including EAST_COAST, which includes both personnel_northeast and personnel_southeast. Use the SHOW DATABASE statement to see the database settings. SQL> -- SQL> -- Attach to the personnel_northwest and personnel_northeast databases. SQL> -- personnel_northwest has the default alias, so personnel_northeast SQL> -- requires an alias. SQL> -- All the attached databases comprise the default connection. SQL> -- SQL> ATTACH 'FILENAME personnel_northwest'; SQL> ATTACH 'ALIAS NORTHEAST FILENAME personnel_northeast'; SQL> -- SQL> -- Add the personnel_southeast database. SQL> -- SQL> ATTACH 'ALIAS SOUTHEAST FILENAME personnel_southeast'; SQL> -- SQL> -- Connect to personnel_southeast. CONNECT does an SQL> -- implicit SET CONNECT to the newly created connection. SQL> -- SQL> CONNECT TO 'ALIAS SOUTHEAST FILENAME personnel_southeast' cont> AS 'SOUTHEAST_CONNECTION'; SQL> -- SQL> -- Connect to both personnel_southeast and personnel_northeast as SQL> -- EAST_COAST connection. SQL replaces the current connection to SQL> -- the personnel_southeast database with the EAST_COAST connection SQL> -- when you issue the CONNECT statement. You now have two different SQL> -- connections that include personnel_southeast. SQL> -- SQL> CONNECT TO 'ALIAS NORTHEAST FILENAME personnel_northeast, cont> ALIAS SOUTHEAST FILENAME personnel_southeast' cont> AS 'EAST_COAST'; SQL> -- SQL> -- The DEFAULT connection still includes all the attached databases. SQL> -- SQL> SET CONNECT DEFAULT; SQL> -- SQL> -- DISCONNECT releases the connection name EAST_COAST, but SQL> -- does not detach from the EAST_COAST databases because SQL> -- they are also part of the default connection. SQL> -- SQL> DISCONNECT 'EAST_COAST'; SQL> -- SQL> SET CONNECT 'EAST_COAST'; %SQL-F-NOSUCHCON, There is not an active connection by that name SQL> -- SQL> -- If you disconnect from the default connection, and have no other SQL> -- current connections, you are no longer attached to any databases. SQL> -- SQL> DISCONNECT DEFAULT; SQL> SHOW DATABASES; %SQL-F-ERRATTDEF, Could not use database file specified by SQL$DATABASE -RDB-E-BAD_DB_FORMAT, SQL$DATABASE does not reference a database known to Rdb -RMS-E-FNF, file not found Example 2: Disconnecting a connection and starting a new connection with the same database In this example, there are two connections: the default connection and a current connection, CA. Both connections use the personnel_ca database. Use the SHOW DATABASE statement to see the database settings. SQL> -- SQL> -- Establish a default connection by attaching to the personnel_ca SQL> -- database. SQL> -- SQL> ATTACH 'FILENAME personnel_ca'; SQL> SHOW CONNECTIONS; -> RDB$DEFAULT_CONNECTION SQL> -- SQL> -- Start a new connection called CA. SQL> -- SQL> CONNECT TO 'FILENAME personnel_ca' cont> AS 'CA'; SQL> SHOW CONNECTIONS; RDB$DEFAULT_CONNECTION -> CA SQL> -- SQL> -- The DISCONNECT CURRENT statement releases the connection name CA, SQL> -- although the database personnel_ca still belongs to the default SQL> -- connection. SQL> -- SQL> DISCONNECT CURRENT; SQL> SHOW CONNECTIONS; -> RDB$DEFAULT_CONNECTION SQL> -- SQL> -- Even though the database personnel_ca is still attached, CA SQL> -- is no longer an active connection. SQL> -- SQL> SET CONNECT 'CA'; %SQL-F-NOSUCHCON, There is not an active connection by that name SQL> -- SQL> -- The original ATTACH statement comprises the default connection. SQL> -- The DISCONNECT DEFAULT statement detaches the default connection. SQL> -- SQL> DISCONNECT DEFAULT; SQL> SHOW DATABASES; %SQL-F-ERRATTDEF, Could not use database file specified by SQL$DATABASE -RDB-E-BAD_DB_FORMAT, SQL$DATABASE does not reference a database known to Rdb -RMS-E-FNF, file not found