DROP FUNCTION
Name
DROP FUNCTION -- 删除一个函数
Synopsis
DROP FUNCTION [ IF EXISTS ] _name_ ( [ [ _argmode_ ] [ _argname_ ] _argtype_ [, ...] ] )
[ CASCADE | RESTRICT ]
描述
DROP FUNCTION
将删除一个现存的函数。要执行这条命令,用户必须是函数的所有者。 必须声明函数的参数类型,因为几个不同的函数可能会有同样的名字和不同的参数列表。
参数
IF EXISTS
如果指定的函数不存在,那么发出一个 notice 而不是抛出一个错误。
_name_
现存的函数名称(可以有模式修饰)。
_argmode_
参数的模式:IN
(缺省), OUT
, INOUT
, VARIADIC
。 请注意DROP FUNCTION
实际上并不注意OUT
参数, 因为判断函数的身份只需要输入参数。因此列出IN
, INOUT
和 VARIADIC
参数就足够了。
_argname_
参数的名字。请注意DROP FUNCTION
实际上并不注意参数的名字, 因为判断函数的身份只需要输入参数的数据类型。
_argtype_
如果有的话,是函数参数的类型(可以用模式修饰)。
CASCADE
级联删除依赖于函数的对象(比如操作符或触发器)。
RESTRICT
如果有任何依赖对象存在,则拒绝删除该函数。这个是缺省。
例子
这条命令删除平方根函数:
DROP FUNCTION sqrt(integer);
兼容性
SQL 标准里定义了一个DROP FUNCTION
语句。但和这条命令不兼容。