DROP FUNCTION
从 Vertica 编录中删除 SQL 函数或用户定义的函数 (UDF)。
语法
DROP FUNCTION [ IF EXISTS ] [[database.]schema.]function[,...] ( [ arg‑list ] )
参数
IF EXISTS
- 指定当要删除的函数不存在时不报告错误。 在 SQL 脚本中使用此子句,可避免在尝试创建不存在的对象之前删除它们时出错。
-
[database.]schema
数据库和架构。默认架构为
public
。如果指定一个数据库,它必须是当前数据库。- function
- 要删除的 SQL 或用户定义函数 (UDF),其中 UDF 可以是以下类型之一:
-
arg‑list
创建此函数时为其定义的以逗号分隔的实参列表,按如下方式指定:
[arg‑name] arg‑type[,...]
其中 arg-name(可选)限定 arg-type:
-
arg‑name 通常是列名称。
-
arg‑type 是 Vertica 支持的 SQL 数据类型的名称。
-
特权
非超级用户,为以下之一:
-
所有者或 DROP 权限
-
对架构的 USAGE 权限
要求
-
要删除某个函数,必须指定实参类型,因为多个函数可能共用相同的名称但是具有不同的参数。
-
删除 SQL 函数时,Vertica 不会检查依赖项,因此,如果其他对象引用 SQL 函数(例如视图或其他 SQL 函数),Vertica 只会在使用这些对象时返回错误。
示例
以下命令将删除 zerowhennull
函数,该函数在 macros
架构中:
=> DROP FUNCTION macros.zerowhennull(x INT);
DROP FUNCTION