

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

# DROP FUNCTION
<a name="r_DROP_FUNCTION"></a>

从数据库中删除用户定义的函数 (UDF)。由于可能存在名称相同但签名不同的多个函数，因此必须指定函数签名或参数数据类型列表。不能删除 Amazon Redshift 内置函数。

此命令无法撤消。

## 所需的权限
<a name="r_DROP_FUNCTION-privileges"></a>

以下是 DROP FUNCTION 所需的权限：
+ Superuser
+ 具有 DROP FUNCTION 权限的用户
+ 函数拥有者

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

```
DROP FUNCTION name
( [arg_name] arg_type   [, ...] )
[ CASCADE | RESTRICT ]
```

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

 *name*   
要删除的函数的名称。

 *arg\$1name*   
输入参数的名称。由于在确定函数身份时只需要参数数据类型，因此 DROP FUNCTION 会忽略参数名称。

 *arg\$1type*   
输入参数的数据类型。您可以通过逗号分隔的列表形式最多提供 32 个数据类型。

 CASCADE   
一个关键字，用于自动删除依赖于该函数的对象，例如视图。  
要创建不依赖于函数的视图，请在定义视图时包括 WITH NO SCHEMA BINDING 子句。有关更多信息，请参阅 [CREATE VIEW](r_CREATE_VIEW.md)。

 RESTRICT   
一个关键字，用于指定如果有任何对象依赖于该函数，则不删除函数并返回一条消息。此操作是默认操作。

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

以下示例删除名为 `f_sqrt` 的函数：

```
drop function f_sqrt(int);
```

要删除具有依赖项的函数，请使用 CASCADE 选项，如以下示例所示：

```
drop function f_sqrt(int)cascade;
```