CLOSE
CLOSE — закрыть курсор
Синтаксис
CLOSE { имя | ALL }Описание
CLOSE освобождает ресурсы, связанные с открытым курсором. Когда курсор закрыт, никакие операции с ним невозможны. Закрывать курсор следует, когда он становится ненужным.
Все не удерживаемые открытые курсоры закрываются неявно при завершении транзакции командами COMMIT или ROLLBACK. Удерживаемый курсор закрывается неявно, если транзакция, его создавшая, прерывается командой ROLLBACK. Если создавшая его транзакция завершается успешной фиксацией, удерживаемый курсор остаётся открытым до явного вызова команды CLOSE или отключения клиента.
Параметры
имяИмя открытого курсора, который будет закрыт.
ALLЗакрывает все открытые курсоры.
Примечания
В Postgres Pro Shardman нет явной команды OPEN для курсора; курсор считается открытым при объявлении. Чтобы объявить курсор, используйте оператор DECLARE.
Получить список всех доступных курсоров можно, обратившись к системному представлению pg_cursors.
Если курсор был закрыт после точки сохранения, а затем произошёл откат к этой точке, действие команды CLOSE не отменяется; то есть курсор остаётся закрытым.
Примеры
Следующая команда закрывает курсор liahona:
CLOSE liahona;
Совместимость
Оператор CLOSE полностью соответствует стандарту SQL. CLOSE ALL является расширением Postgres Pro Shardman.
CLOSE
CLOSE — close a cursor
Synopsis
CLOSE { name | ALL }
Description
CLOSE frees the resources associated with an open cursor. After the cursor is closed, no subsequent operations are allowed on it. A cursor should be closed when it is no longer needed.
Every non-holdable open cursor is implicitly closed when a transaction is terminated by COMMIT or ROLLBACK. A holdable cursor is implicitly closed if the transaction that created it aborts via ROLLBACK. If the creating transaction successfully commits, the holdable cursor remains open until an explicit CLOSE is executed, or the client disconnects.
Parameters
nameThe name of an open cursor to close.
ALLClose all open cursors.
Notes
Postgres Pro Shardman does not have an explicit OPEN cursor statement; a cursor is considered open when it is declared. Use the DECLARE statement to declare a cursor.
You can see all available cursors by querying the pg_cursors system view.
If a cursor is closed after a savepoint which is later rolled back, the CLOSE is not rolled back; that is, the cursor remains closed.
Examples
Close the cursor liahona:
CLOSE liahona;
Compatibility
CLOSE is fully conforming with the SQL standard. CLOSE ALL is a Postgres Pro Shardman extension.