

 从补丁 198 开始，Amazon Redshift 将不再支持创建新的 Python UDF。现有的 Python UDF 将继续正常运行至 2026 年 6 月 30 日。有关更多信息，请参阅[博客文章](https://www.amazonaws.cn/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/)。

# EXECUTE
<a name="r_EXECUTE"></a>

执行先前预编译的语句。

## 语法
<a name="r_EXECUTE-synopsis"></a>

```
EXECUTE plan_name [ (parameter [, ...]) ]
```

## 参数
<a name="r_EXECUTE-parameters"></a>

 *plan\_name*   
要运行的预编译语句的名称。

 *parameter*   
预编译语句的某个参数的实际值。它必须是一个生成某个类型的值的表达式，而且该类型必须与在创建该预编译语句的 PREPARE 命令中为此参数位置指定的数据类型兼容。

## 使用说明
<a name="r_EXECUTE_usage_notes"></a>

EXECUTE 用于执行先前预编译的语句。由于预编译语句只在会话持续时间内存在，因此预编译语句必须已由先前在当前会话中执行的 PREPARE 语句创建。

如果先前的 PREPARE 语句指定了一些参数，则必须将兼容的参数集传递到 EXECUTE 语句，否则 Amazon Redshift 返回错误。与函数不同的是，预编译语句不会根据指定参数的类型或数量来重载；预编译语句的名称在一个数据库会话内必须是唯一的。

为预编译语句发出 EXECUTE 命令时，Amazon Redshift 可能会选择修改查询执行计划（以便根据指定的参数值来提高性能），然后再执行预编译语句。此外，对于预编译语句的每次新执行，Amazon Redshift 可能会根据使用 EXECUTE 语句指定的其他参数值，再次修改查询执行计划。要查看 Amazon Redshift 为任何给定 EXECUTE 语句选择的查询执行计划，请使用 [EXPLAIN](r_EXPLAIN.md) 命令。

有关创建和使用预编译语句的示例和更多信息，请参阅 [PREPARE](r_PREPARE.md)。

## 另请参阅
<a name="r_EXECUTE-see-also"></a>

 [DEALLOCATE](r_DEALLOCATE.md), [PREPARE](r_PREPARE.md) 