Home Explore Blog CI



postgresql

doc/src/sgml/ref/execute.sgml
2682167f60e845db4142d7af6d7b7f32636c4be3e4d3f8850000000300000ce7
<!--
doc/src/sgml/ref/execute.sgml
PostgreSQL documentation
-->

<refentry id="sql-execute">
 <indexterm zone="sql-execute">
  <primary>EXECUTE</primary>
 </indexterm>

 <indexterm zone="sql-execute">
  <primary>prepared statements</primary>
  <secondary>executing</secondary>
 </indexterm>

 <refmeta>
  <refentrytitle>EXECUTE</refentrytitle>
  <manvolnum>7</manvolnum>
  <refmiscinfo>SQL - Language Statements</refmiscinfo>
 </refmeta>

 <refnamediv>
  <refname>EXECUTE</refname>
  <refpurpose>execute a prepared statement</refpurpose>
 </refnamediv>

 <refsynopsisdiv>
<synopsis>
EXECUTE <replaceable class="parameter">name</replaceable> [ ( <replaceable class="parameter">parameter</replaceable> [, ...] ) ]
</synopsis>
 </refsynopsisdiv>

 <refsect1>
  <title>Description</title>

  <para>
   <command>EXECUTE</command> is used to execute a previously prepared
   statement. Since prepared statements only exist for the duration of a
   session, the prepared statement must have been created by a
   <command>PREPARE</command> statement executed earlier in the
   current session.
  </para>

  <para>
   If the <command>PREPARE</command> statement that created the statement
   specified some parameters, a compatible set of parameters must be
   passed to the <command>EXECUTE</command> statement, or else an
   error is raised. Note that (unlike functions) prepared statements are
   not overloaded based on the type or number of their parameters; the
   name of a prepared statement must be unique within a database session.
  </para>

  <para>
   For more information on the creation and usage of prepared statements,
   see <xref linkend="sql-prepare"/>.
  </para>
 </refsect1>

 <refsect1>
  <title>Parameters</title>

  <variablelist>
   <varlistentry>
    <term><replaceable class="parameter">name</replaceable></term>
    <listitem>
     <para>
      The name of the prepared statement to execute.
     </para>
    </listitem>
   </varlistentry>

   <varlistentry>
    <term><replaceable class="parameter">parameter</replaceable></term>
    <listitem>
     <para>
      The actual value of a parameter to the prepared statement.  This
      must be an expression yielding a value that is compatible with
      the data type of this parameter, as was determined when the
      prepared statement was created.
     </para>
    </listitem>
   </varlistentry>
  </variablelist>
 </refsect1>

 <refsect1>
  <title>Outputs</title>
   <para>
   The command tag returned by <command>EXECUTE</command>
   is that of the prepared statement, and not <literal>EXECUTE</literal>.
  </para>
 </refsect1>

 <refsect1>
  <title>Examples</title>
  <para>
    Examples are given in <xref linkend="sql-prepare-examples"/>
    in the <xref linkend="sql-prepare"/> documentation.
   </para>
 </refsect1>

 <refsect1>
  <title>Compatibility</title>

  <para>
   The SQL standard includes an <command>EXECUTE</command> statement,
   but it is only for use in embedded SQL.  This version of the
   <command>EXECUTE</command> statement also uses a somewhat different
   syntax.
  </para>
 </refsect1>

 <refsect1>
  <title>See Also</title>

  <simplelist type="inline">
   <member><xref linkend="sql-deallocate"/></member>
   <member><xref linkend="sql-prepare"/></member>
  </simplelist>
 </refsect1>
</refentry>

Chunks
91d3401d (1st chunk of `doc/src/sgml/ref/execute.sgml`)
Title: EXECUTE
Summary
The EXECUTE command executes a previously prepared SQL statement. Prepared statements exist only for the duration of a session and must be created using the PREPARE statement. If the prepared statement requires parameters, they must be provided during execution. The command tag returned by EXECUTE is that of the prepared statement itself. This version of the EXECUTE statement differs in syntax from the SQL standard's embedded SQL version.