CLOSE
CLOSE — закрыть курсор
Синтаксис
CLOSE { имя
| ALL }
Описание
CLOSE
освобождает ресурсы, связанные с открытым курсором. Когда курсор закрыт, никакие операции с ним невозможны. Закрывать курсор следует, когда он становится ненужным.
Все не удерживаемые открытые курсоры закрываются неявно при завершении транзакции командами COMMIT
или ROLLBACK
. Удерживаемый курсор закрывается неявно, если транзакция, его создавшая, прерывается командой ROLLBACK
. Если создавшая его транзакция завершается успешной фиксацией, удерживаемый курсор остаётся открытым до явного вызова команды CLOSE
или отключения клиента.
Параметры
имя
Имя открытого курсора, который будет закрыт.
ALL
Закрывает все открытые курсоры.
Примечания
В Postgres Pro нет явной команды OPEN
для курсора; курсор считается открытым при объявлении. Чтобы объявить курсор, используйте оператор DECLARE
.
Получить список всех доступных курсоров можно, обратившись к системному представлению pg_cursors
.
Если курсор был закрыт после точки сохранения, а затем произошёл откат к этой точке, действие команды CLOSE
не отменяется; то есть курсор остаётся закрытым.
Примеры
Следующая команда закрывает курсор liahona
:
CLOSE liahona;
Совместимость
Оператор CLOSE
полностью соответствует стандарту SQL. CLOSE ALL
является расширением Postgres Pro.