问题报告
纠错本页面
DROP FUNCTION
名称
DROP FUNCTION -- 移除一个函数大纲
DROP FUNCTION [ IF EXISTS ] name ( [ [ argmode ] [ argname ] argtype [, ...] ] ) [ CASCADE | RESTRICT ]
描述
DROP FUNCTION移除一个已有函数 的定义。要执行这个命令用户必须是该函数的拥有者。该函数的参数 类型必须被指定,因为多个不同的函数可能会具有相同的函数名和不 同的参数列表。
参数
- IF EXISTS
如果该函数不存在则不要抛出一个错误,而是发出一个提示。
- name
一个现有函数的名称(可以是模式限定的)。
- argmode
一个参数的模式:IN、OUT、 INOUT或者VARIADIC。如果被忽略, 则默认为IN。注意 DROP FUNCTION并不真正关心 OUT参数,因为决定函数的身份时只需要输入参数。 因此列出IN、INOUT和 VARIADIC参数足以。
- argname
一个参数的名称。注意 DROP FUNCTION并不真正关心 参数名称,因为决定函数的身份时只需要参数的数据类型。
- argtype
如果函数有参数,这是函数参数的数据类型(可以是模式限定的)。
- CASCADE
自动删除依赖于该函数的对象(例如操作符和触发器),然后删除所有 依赖于那些对象的对象(见第 5.13 节)。
- RESTRICT
如果有任何对象依赖于该函数,则拒绝删除它。这是默认值。
示例
这个命令移除平方根函数:
DROP FUNCTION sqrt(integer);
兼容性
SQL 标准中定义了一个 DROP FUNCTION语句, 但是它与这个命令不兼容。