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;