
# DROP FUNCTION
#### 功能描述
删除一个已存在的函数。
#### 注意事项
如果函数中涉及对临时表的相关操作，则无法使用DROP FUNCTION删除函数。
只有函数的所有者或者被授予了函数DROP权限的用户才能执行DROP FUNCTION命令，系统管理员默认拥有该权限。
#### 语法格式
```
DROP FUNCTION [ IF EXISTS ] function_name 
[ ( [ { [ argname ] [ argmode ] argtype} [, ...] ] ) [ CASCADE | RESTRICT ] ];
```
#### 参数说明
- **IF EXISTS**
  IF EXISTS表示，如果函数存在则执行删除操作，函数不存在也不会报错，只是发出一个notice。
  
- **function_name**
  要删除的函数名称。
  取值范围：已存在的函数名。
  
- **argmode**
  函数参数的模式。
  
- **argname**
  函数参数的名称。
  
- **argtype**
  函数参数的类型
  
- **CASCADE \| RESTRICT**
  - CASCADE：级联删除依赖于函数的对象 。
  
  - RESTRICT：如果有任何依赖对象存在，则拒绝删除该函数（缺省行为）。
   
 
#### 示例
请参见CREATE FUNCTION的[示例](https://support.huaweicloud.com/distributed-devg-v3-gaussdb/gaussdb-12-0519.html#ZH-CN_TOPIC_0000002235390373__zh-cn_topic_0000002200297752_zh-cn_topic_0059778837_scc61c5d3cc3e48c1a1ef323652dda821)。
#### 相关链接
[ALTER FUNCTION](https://support.huaweicloud.com/distributed-devg-v3-gaussdb/gaussdb-12-0466.html#ZH-CN_TOPIC_0000002200190210)，[CREATE FUNCTION](https://support.huaweicloud.com/distributed-devg-v3-gaussdb/gaussdb-12-0519.html#ZH-CN_TOPIC_0000002235390373)
