| <!-- |
| $PostgreSQL: pgsql/doc/src/sgml/ref/close.sgml,v 1.24 2006/09/16 00:30:17 momjian Exp $ |
| PostgreSQL documentation |
| --> |
| |
| <refentry id="SQL-CLOSE"> |
| <refmeta> |
| <refentrytitle id="SQL-CLOSE-TITLE">CLOSE</refentrytitle> |
| <refmiscinfo>SQL - Language Statements</refmiscinfo> |
| </refmeta> |
| |
| <refnamediv> |
| <refname>CLOSE</refname> |
| <refpurpose>close a cursor</refpurpose> |
| </refnamediv> |
| |
| <indexterm zone="sql-close"> |
| <primary>CLOSE</primary> |
| </indexterm> |
| |
| <indexterm zone="sql-close"> |
| <primary>cursor</primary> |
| <secondary>CLOSE</secondary> |
| </indexterm> |
| |
| <refsynopsisdiv> |
| <synopsis> |
| CLOSE <replaceable class="PARAMETER">name</replaceable> |
| </synopsis> |
| </refsynopsisdiv> |
| |
| <refsect1> |
| <title>Description</title> |
| |
| <para> |
| <command>CLOSE</command> 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. |
| </para> |
| |
| <para> |
| Every non-holdable open cursor is implicitly closed when a |
| transaction is terminated by <command>COMMIT</command> or |
| <command>ROLLBACK</command>. A holdable cursor is implicitly |
| closed if the transaction that created it aborts via |
| <command>ROLLBACK</command>. If the creating transaction successfully |
| commits, the holdable |
| cursor remains open until an explicit <command>CLOSE</command> is |
| executed, or the client disconnects. |
| </para> |
| </refsect1> |
| |
| <refsect1> |
| <title>Parameters</title> |
| |
| <variablelist> |
| <varlistentry> |
| <term><replaceable class="PARAMETER">name</replaceable></term> |
| <listitem> |
| <para> |
| The name of an open cursor to close. |
| </para> |
| </listitem> |
| </varlistentry> |
| </variablelist> |
| </refsect1> |
| |
| <refsect1> |
| <title>Notes</title> |
| |
| <para> |
| <productname>PostgreSQL</productname> does not have an explicit |
| <command>OPEN</command> cursor statement; a cursor is considered |
| open when it is declared. Use the |
| <xref linkend="sql-declare" endterm="sql-declare-title"> |
| statement to declare a cursor. |
| </para> |
| |
| <para> |
| You can see all available cursors by querying the |
| <structname>pg_cursors</structname> system view. |
| </para> |
| </refsect1> |
| |
| <refsect1> |
| <title>Examples</title> |
| |
| <para> |
| Close the cursor <literal>liahona</literal>: |
| <programlisting> |
| CLOSE liahona; |
| </programlisting> |
| </para> |
| </refsect1> |
| |
| <refsect1> |
| <title>Compatibility</title> |
| |
| <para> |
| <command>CLOSE</command> is fully conforming with the SQL standard. |
| </para> |
| </refsect1> |
| |
| <refsect1> |
| <title>See Also</title> |
| |
| <simplelist type="inline"> |
| <member><xref linkend="sql-declare" endterm="sql-declare-title"></member> |
| <member><xref linkend="sql-fetch" endterm="sql-fetch-title"></member> |
| <member><xref linkend="sql-move" endterm="sql-move-title"></member> |
| </simplelist> |
| </refsect1> |
| </refentry> |