Postgresql 中文操作指南
Synopsis
DROP FUNCTION [ IF EXISTS ] name [ ( [ [ argmode ] [ argname ] argtype [, ...] ] ) ] [, ...]
[ CASCADE | RESTRICT ]
Parameters
-
IF EXISTS
-
如果函数不存在,请不要抛出错误。在这种情况下,会发出一个通知。
-
-
name
-
现有函数的名称(可选的架构限定)。如果没有指定参数列表,名称在架构中必须是唯一的。
-
-
argmode
-
参数模式: IN , OUT , INOUT 或 VARIADIC 。如果省略,则默认值为 IN 。请注意, DROP FUNCTION 实际上不关注 OUT 参数,因为仅需要输入参数来确定函数的身份。因此,列出 IN , INOUT 和 VARIADIC 参数就足够了。
-
-
argname
-
参数名称。请注意, DROP FUNCTION 实际上不关注参数名称,因为仅需要参数数据类型就能确定函数的身份。
-
-
argtype
-
如果存在,函数的参数的数据类型(可选的架构限定)。
-
-
CASCADE
-
自动删除依赖于该函数的对象(比如操作符或触发器),依次删除依赖于这些对象的所有对象(请参见 Section 5.14 )。
-
-
RESTRICT
-
如果任何对象依赖于该函数,则拒绝删除该函数。这是默认值。
-
Examples
此命令删除平方根函数:
DROP FUNCTION sqrt(integer);
在一个命令中删除多个函数:
DROP FUNCTION sqrt(integer), sqrt(bigint);
如果函数名称在其模式中是唯一的,则无需参数列表即可引用它:
DROP FUNCTION update_employee_salaries;
请注意,这与以下情况不同:
DROP FUNCTION update_employee_salaries();
该情况引用了一个无参数函数,而第一个变量可以引用一个包含任意数量参数(包括零个参数)的函数,前提是名称是唯一的。