postgresql/doc/src/sgml/ref/execute.sgml
Peter Eisentraut bb4eefe7bf doc: Improve DocBook XML validity
DocBook XML is superficially compatible with DocBook SGML but has a
slightly stricter DTD that we have been violating in a few cases.
Although XSLT doesn't care whether the document is valid, the style
sheets don't necessarily process invalid documents correctly, so we need
to work toward fixing this.

This first commit moves the indexterms in refentry elements to an
allowed position.  It has no impact on the output.
2014-02-23 21:31:08 -05:00

123 lines
3.3 KiB
Plaintext

<!--
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</>.
</para>
</refsect1>
<refsect1>
<title>Examples</>
<para>
Examples are given in the <xref linkend="sql-prepare-examples"
endterm="sql-prepare-examples-title"> section of 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>