
# DROP FUNCTION
#### 功能描述
删除一个已存在的函数。
#### 注意事项
- 如果所删除的函数为重载函数，则删除时需要指明该函数的参数类型，如为非重载函数，则可直接指定函数名进行删除。
- 如果函数中涉及对临时表相关操作，则无法使用DROP FUNCTION删除函数。
 
#### 语法格式
```
DROP FUNCTION [ IF EXISTS ] function_name 
[ ( [ {[ argmode ] [ argname ] argtype} [, ...] ] ) [ CASCADE | RESTRICT ] ];
```
#### 参数说明
表1DROP FUNCTION参数说明 
| 参数                  | 描述                               | 取值范围                                                                                                                                                                                                                                                                                                                          |
|:---|:---|:---|
| IF EXISTS           | 如果指定的外表不存在，则发出一个notice而不是抛出一个错误。 | -                                                                                                                                                                                                                                                                                                                             |
| function_name       | 要删除的函数名称。                        | 已存在的函数名。                                                                                                                                                                                                                                                                                                                      |
| argmode             | 函数参数的模式。                         | -                                                                                                                                                                                                                                                                                                                             |
| argname             | 函数参数的名称。                         | -                                                                                                                                                                                                                                                                                                                             |
| argtype             | 函数参数的数据类型。                       | -                                                                                                                                                                                                                                                                                                                             |
| CASCADE \| RESTRICT | 当执行删除操作时，如何处理依赖对象中的相关数据。         | - CASCADE：级联删除依赖于函数的对象（比如操作符） 。  - RESTRICT：如果有任何依赖对象存在，则拒绝删除该函数（缺省行为）。   |
   
#### 示例
删除名称为add_two_number的函数。
```
DROP FUNCTION IF EXISTS add_two_number;
```
#### 相关链接
[ALTER FUNCTION](https://support.huaweicloud.com/sqlreference-dws/dws_06_0126.html)，[CREATE FUNCTION](https://support.huaweicloud.com/sqlreference-dws/dws_06_0163.html)
