
# PREPARE
#### 功能描述
创建一个预备语句。
预备语句是服务端的对象，可以用于优化性能。在执行PREPARE语句的时候，指定的查询被解析、分析、重写。当随后发出EXECUTE语句的时候，预备语句被规划和执行。这种设计避免了重复解析、分析工作。PREPARE语句创建后在整个数据库会话期间一直存在，一旦创建成功，即便是在事务块中创建，事务回滚，PREPARE也不会删除。只能通过显式调用[DEALLOCATE](https://support.huaweicloud.com/centralized-devg-v3-gaussdb/gaussdb-42-0571.html#ZH-CN_TOPIC_0000002235339529)进行删除，会话结束时，PREPARE也会自动删除。
#### 语法格式
```
PREPARE name [ ( data_type [, ...] ) ] AS statement;
```
#### 参数说明
- **name**
  指定预备语句的名称。它必须在该会话中是唯一的。
  
- **data_type**
  参数的数据类型。
  
- **statement**
  SELECT INSERT、UPDATE、DELETE、MERGE INTO或VALUES语句之一。
  
 
#### 示例
请参见EXECUTE的[示例](https://support.huaweicloud.com/centralized-devg-v3-gaussdb/gaussdb-42-0619.html#ZH-CN_TOPIC_0000002235459509__zh-cn_topic_0000002235221321_zh-cn_topic_0283137468_zh-cn_topic_0237122161_zh-cn_topic_0059777447_s8a46083a59d940c3aaa2535b2f783645)。
#### 相关链接
[DEALLOCATE](https://support.huaweicloud.com/centralized-devg-v3-gaussdb/gaussdb-42-0571.html#ZH-CN_TOPIC_0000002235339529)
