更新时间:2024-08-20 GMT+08:00

EXECUTE

功能描述

执行一个准备好的预备语句。因为预备语句只在会话的生命期里存在,所以预备语句必须是在当前会话中更早用PREPARE语句创建的。

注意事项

如果创建预备语句时,PREPARE语句声明了一些参数,那么传递给EXECUTE语句的必须是一个兼容的参数集,否则会出现错误。

语法格式

EXECUTE name [ ( parameter [, ...] ) ];

参数说明

  • name

    要执行的预备语句的名称。

  • parameter

    给预备语句的参数的具体数值。它必须是一个和生成与创建这个预备语句时指定参数的数据类型相兼容的值的表达式,不支持ROWNUM作为参数。

示例

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
--创建表reason。
gaussdb=# CREATE TABLE reason ( 
    CD_DEMO_SK          int NOT NULL,
    CD_GENDER           varchar(10),
    CD_MARITAL_STATUS   varchar(10)
);

--为一个INSERT语句创建一个预备语句然后执行它。
gaussdb=# PREPARE insert_reason(int,varchar(10),varchar(10)) AS INSERT INTO reason VALUES($1,$2,$3);
gaussdb=# EXECUTE insert_reason(52, 'AAAAAAAADD', 'reason 52'); 

--查询数据。
gaussdb=# SELECT * FROM reason;
 cd_demo_sk | cd_gender  | cd_marital_status 
------------+------------+-------------------
         52 | AAAAAAAADD | reason 52
(1 row)

--删除表reason。
gaussdb=# DROP TABLE reason;

相关链接

7.13.16.2-PREPAREDEALLOCATE