PREPARE
功能描述
创建一个预备语句。
预备语句是服务端的对象,可以用于优化性能。在执行PREPARE语句的时候,指定的查询被解析、分析、重写。当随后发出EXECUTE语句的时候,预备语句被规划和执行。这种设计避免了重复解析、分析工作。PREPARE语句创建后在整个数据库会话期间一直存在,一旦创建成功,即便是在事务块中创建,事务回滚,PREPARE也不会删除。只能通过显式调用DEALLOCATE进行删除,会话结束时,PREPARE也会自动删除。
注意事项
无。
语法格式
1
|
PREPARE name [ ( data_type [, ...] ) ] AS statement; |
参数说明
- name
指定预备语句的名称。该名称必须在该会话中是唯一的。
- data_type
参数的数据类型。
- statement
任何SELECT、INSERT、UPDATE、DELETE或VALUES语句。
示例
1 2 3 |
CREATE TABLE IF NOT EXISTS reason_t1 (a int,b varchar(20),c varchar(20)); PREPARE insert_reason(integer,character(16),character(100)) AS INSERT INTO reason_t1 VALUES($1,$2,$3); EXECUTE insert_reason(52, 'AAAAAAAADDAAAAAA', 'reason 52'); |