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 的语法也略微不同。