======= EXECUTE ======= .. container:: refentry :name: SQL-EXECUTE .. container:: titlepage .. container:: refnamediv .. rubric:: EXECUTE :name: execute EXECUTE — 执行一个预备语句 .. container:: refsynopsisdiv .. rubric:: 大纲 :name: 大纲 .. code:: synopsis EXECUTE name [ ( parameter [, ...] ) ] .. container:: refsect1 :name: id-1.9.3.147.6 .. rubric:: 描述 :name: 描述 ``EXECUTE``\ 被用来执行一个之前准备好的语句。 由于预备语句只在会话期间存在,该预备语句必须在当前会话中由一个更早 执行的\ ``PREPARE``\ 语句所创建。 如果创建预备语句的\ ``PREPARE``\ 语句指定了一些参数, 必须向\ ``EXECUTE``\ 语句传递一组兼容的参数,否则会 发生错误。注意(与函数不同)预备语句无法基于其参数的类型或者数量重载。 在一个数据库会话中,预备语句的名称必须唯一。 更多创建和使用预备语句的信息请见\ `PREPARE `__\ 。 .. container:: refsect1 :name: id-1.9.3.147.7 .. rubric:: 参数 :name: 参数 .. container:: variablelist *``name``* 要执行的预备语句的名称。 *``parameter``* 给预备语句的参数的实际值。这必须是一个能得到与该参数数据类型( 在预备语句创建时决定)兼容的值的表达式。 .. container:: refsect1 :name: id-1.9.3.147.8 .. rubric:: 输出 :name: 输出 ``EXECUTE``\ 返回的命令标签是预备语句的命令标签而不是 ``EXECUTE``\ 。 .. container:: refsect1 :name: id-1.9.3.147.9 .. rubric:: 例子 :name: 例子 在\ `PREPARE `__\ 文档的\ `例 `__\ 小节给出了例子。 .. container:: refsect1 :name: id-1.9.3.147.10 .. rubric:: 兼容性 :name: 兼容性 SQL 标准包括了一个\ ``EXECUTE``\ 语句, 但是只被用于嵌入式 SQL。这个版本的 ``EXECUTE``\ 语句也用了一种有点不同的语法。 .. container:: refsect1 :name: id-1.9.3.147.11 .. rubric:: 另见 :name: 另见 `DEALLOCATE `__, `PREPARE `__