PostgreSQL 9.4.4 中文手册
上一页 | 上一级 |  | 下一页

# DROP FUNCTION

## 名称

DROP FUNCTION -- 删除一个函数

## 大纲

    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, ALTER FUNCTION

上一页 | 起始页 | 下一页
DROP FOREIGN TABLE | 上一级 | DROP GROUP