DROP FUNCTION - Amazon Redshift

DROP FUNCTION

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

此命令无法撤消。

所需的权限

以下是 DROP FUNCTION 所需的权限:

  • Superuser

  • 具有 DROP FUNCTION 权限的用户

  • 函数拥有者

语法

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

参数

name

要删除的函数的名称。

arg_name

输入参数的名称。由于在确定函数身份时只需要参数数据类型,因此 DROP FUNCTION 会忽略参数名称。

arg_type

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

CASCADE

一个关键字,用于自动删除依赖于该函数的对象,例如视图。

要创建不依赖于函数的视图,请在定义视图时包括 WITH NO SCHEMA BINDING 子句。有关更多信息,请参阅 CREATE VIEW

RESTRICT

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

示例

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

drop function f_sqrt(int);

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

drop function f_sqrt(int)cascade;