

# PREPARE
<a name="sql-prepare"></a>

创建名为 `statement_name` 的 SQL 语句以在稍后运行。该语句可以包含由问号表示的参数。要为参数提供值并运行预准备语句，请使用 [EXECUTE](sql-execute.md)。

## 摘要
<a name="sql-prepare-synopsis"></a>

```
PREPARE statement_name FROM statement
```

下表介绍了这些参数。


****  

| 参数 | 描述 | 
| --- | --- | 
| statement\$1name | 要执行的预准备语句的名称。此名称在工作组范围内必须唯一。 | 
| statement | SELECT、CTAS 或 INSERT INTO 查询。 | 

**注意**  
工作组中的最大预处理语句数为 1000。

## 示例
<a name="sql-prepare-examples"></a>

以下示例准备了不带参数的选择查询。

```
PREPARE my_select1 FROM 
SELECT * FROM nation
```

以下示例准备了包含参数的选择查询。`productid` 和 `quantity` 的值将由 `EXECUTE` 语句的 `USING` 子句提供：

```
PREPARE my_select2 FROM 
SELECT order FROM orders WHERE productid = ? and quantity < ?
```

以下示例准备了插入查询。

```
PREPARE my_insert FROM 
INSERT INTO cities_usa (city, state) 
SELECT city, state 
FROM cities_world 
WHERE country = ?
```

## 其他资源
<a name="sql-prepare-additional-resources"></a>

[使用预准备语句](querying-with-prepared-statements-querying.md)

[EXECUTE](sql-execute.md)

[DEALLOCATE PREPARE](sql-deallocate-prepare.md)

[INSERT INTO](insert-into.md)