Инструкция DISCONNECT
Инструкция DISCONNECT завершает одно или несколько соединений, созданных между текущим процессом SQL и сервером базы данных.
DISCONNECT {CURRENT | ALL | имя_соединения DEFAULT}
CURRENT
Закрывается текущее активное пользовательское соединение.
ALL
Закрываются все открытые соединения текущего пользователя.
Инструкция DISCONNECT используется для завершения указанного сеанса SQL (имяроединения), текущего соединения (CURRENT), соединения по умолчанию (DEFA ULT) или всех соединений пользователя (ALL). Например, мы можем завершить один сеанс с именем new_york.
DISCONNECT new_york
В следующем примере мы можем прервать все открытые в настоящий момент сеансы для текущего процесса пользователя.
DISCONNECT ALL
Советы и хитрости программирования
Инструкция DISCONNECT не является универсально поддерживаемой инструкцией для всех платформ. Не создавайте приложений для нескольких платформ с использованием инструкции DISCONNECT, если вы не подготовили условия для прерывания сеансов SQL с помощью методологии, предпочтительной для каждой платформы.
Платформа DB2 поддерживает инструкцию DISCONNECT стандарта ANSI только для встроенного кода SQL. Команда DISCONNECT может завершить одно или несколько соединений только после успешного выполнения операции COMMIT unu ROLLBACK в удаляемом сеансе. Также вы можете использовать инструкцию RELEASE, чтобы ввести соединение в состояние ожидания разрыва.
Не поддерживается.
Платформа Oracle позволяет использовать инструкцию DISCONNECT только в своем инструменте для запросов немедленного выполнения SQL*Plus, при этом используется следующий синтаксис.
DISCONNECT
При таком способе применения команда завершает текущий сеанс работы с сервером базы данных, но во всем прочем позволяет продолжить работу с SQL*Plus. Например, программист может продолжать редактировать буфер, сохранять выполняемые файлы и тому подобное. Однако, чтобы подавать команды SQL, вы должны установить новое соединение. Для выхода из SQL*Plus и возвращения в файловую систему требуется подать команду EXIT или QUIT. Например, следующая команда завершает текущее соединение с сервером Oracle.
DISCONNECT;
He поддерживается. Вместо этого в каждом программном интерфейсе поддерживается операция разрыва соединения. Например, для Server Prograrnming Interface поддерживается команда SPI_FINISH, а в программном пакете PL/TCL — команда PGjCONNECT.
Платформа Microsoft SQL Server поддерживает синтаксис ANSI для инструкции DISCONNECT только во встроенном SQL (Embedded-SQL, ESQL), но не в инструменте для создания произвольных запросов SQL Query Analyzer. Чтобы явным образом отсоединиться от сервера Microsoft SQL Server в программе ESQL, используйте инструкцию DISCONNECT ALL.