EXECUTE

Name

EXECUTE  --  执行一个准备好的查询

Synopsis

   EXECUTE plan_name [ (parameter [, ...] ) ] [ INTO [ TEMPORARY | TEMP ] table ]
  

输入

plan_name

要执行的准备好的查询。

parameter

给准备好的查询的一个参数的具体数值。它必须是一个生成 与创建这个准备好的查询的 PREPARE 语句 指定参数位置的参数相兼容的数据类型的表达式。

table

一个表的名字,在这个表里面存储执行这个查询的结果(如果是 SELECT)。 如果没有声明表,那么结果返回给客户端(通常情况)。

描述

EXECUTE 用户执行一个前面准备好的查询。 因为一个准备好的查询只在会话的生命期里存在,那么准备好的 查询必须是在当前会话的前些时候用 PREPARE 语句执行的。

如果创建查询的 PREPARE 语句声明了一些参数, 那么传递给 EXECUTE 语句的必须是一个兼容的 参数集,否则就会生成一个错误。请注意(和函数不同),准备好的 查询不会基于参数的类型或者个数重载:在一次数据库会话过程中, 准备好的查询的名字必须是唯一的。

SELECT INTO 类似,EXECUTE 可以把执行查询的结果存储到一个新创建的表中,方法是声明 INTO 子句。 有关这种行为的更多信息,请参考 SELECT INTO

有关创建和使用准备好的查询的更多信息, 请参阅 PREPARE

兼容性

SQL92

SQL92 包括一个 EXECUTE 语句, 但它只是用于嵌入的 SQL 客户端。PostgreSQL 实现的 EXECUTE 的语法也略微不同。