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の拡張です。