企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
# 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`语句。但和这条命令不兼容。 ## 又见 [CREATE FUNCTION](#calibre_link-4), [ALTER FUNCTION](#calibre_link-588)