CLOSE — カーソルを閉じる
CLOSE { name
| ALL }
CLOSE
は、開いたカーソルに関連するリソースを解放します。
カーソルが閉じられた後は、そのカーソルに対する操作はできません。
カーソルは必要がなくなった時点で閉じるべきです。
トランザクションがCOMMIT
もしくはROLLBACK
で終了された時点で、開いている保持不可能カーソルは全て暗黙的に閉じられます。
ROLLBACK
により保持可能カーソルを作成したトランザクションをアボートした場合、この保持可能カーソルは暗黙的に閉じられます。
作成したトランザクションが正常にコミットされた場合、保持可能カーソルは明示的にCLOSE
が実行されるまで、あるいは、クライアントとの接続が切断されるまで、開いたままになります。
name
閉じる対象となる、現在開いているカーソルの名前です。
ALL
すべてのカーソルを閉じます。
PostgreSQLには明示的なカーソルのOPEN
文がありません。
カーソルは宣言された時に開いたとみなされます。
カーソルの宣言にはDECLARE文を使用してください。
pg_cursors
システムビューを問い合わせることにより利用可能なすべてのカーソルを確認することができます。
カーソルがセーブポイントの後に閉じられ、後にロールバックした場合には、CLOSE
はロールバックされません。
つまり、そのカーソルは閉じたままとなります。
カーソルliahona
を閉じます。
CLOSE liahona;
CLOSE
は標準SQLと完全な互換性を持ちます。
ただし、CLOSE ALL
はPostgreSQLの拡張です。