aboutsummaryrefslogtreecommitdiff
path: root/doc/src/sgml/ref/execute.sgml
blob: 628617c5084a5a96db2dd083234cac79a516861f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
<!--
$PostgreSQL: pgsql/doc/src/sgml/ref/execute.sgml,v 1.12 2004/09/30 04:23:27 neilc Exp $
PostgreSQL documentation
-->

<refentry id="SQL-EXECUTE">
 <refmeta>
  <refentrytitle id="sql-execute-title">EXECUTE</refentrytitle>
  <refmiscinfo>SQL - Language Statements</refmiscinfo>
 </refmeta>

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

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

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

 <refsynopsisdiv>
<synopsis>
EXECUTE <replaceable class="PARAMETER">plan_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" endterm="sql-prepare-title">.
  </para>
 </refsect1>

 <refsect1>
  <title>Parameters</title>

  <variablelist>
   <varlistentry>
    <term><replaceable class="PARAMETER">plan_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 of a type compatible with
      the data type specified for this parameter position in the
      <command>PREPARE</command> command that created the prepared
      statement.
     </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" endterm="sql-prepare-title"> 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" endterm="sql-deallocate-title"></member>
   <member><xref linkend="sql-prepare" endterm="sql-prepare-title"></member>
  </simplelist>
 </refsect1>
</refentry>

<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:nil
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
sgml-parent-document:nil
sgml-default-dtd-file:"../reference.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:"/usr/lib/sgml/catalog"
sgml-local-ecat-files:nil
End:
-->