GaussDB-DROP FUNCTION

78 阅读1分钟

GaussDB-DROP FUNCTION

功能描述

删除一个已存在的函数。

注意事项

如果函数中涉及对临时表的相关操作,则无法使用DROP FUNCTION删除函数。

只有函数的所有者或者被授予了函数DROP权限的用户才能执行DROP FUNCTION命令,系统管理员默认拥有该权限。

语法格式

| ``` DROP FUNCTION [ IF EXISTS ] function_name [ ( [ { [ argname ] [ argmode ] argtype} [, ...] ] ) [ CASCADE | RESTRICT ] ];

| ---------------------------------------------------------------------------------------------------------------------------------- |

![](https://p6-xtjj-sign.byteimg.com/tos-cn-i-73owjymdk6/683126555eaf404c855a7133480c1bcd~tplv-73owjymdk6-jj-mark-v1:0:0:0:0:5o6Y6YeR5oqA5pyv56S-5Yy6IEAgamVycnl3YW5nMTk4Mw==:q75.awebp?rk3s=f64ab15b&x-expires=1780560019&x-signature=kGpSuIvsE8oXUhQgEtlYJ%2FAFw2w%3D)

#### 参数说明

-   **IF EXISTS**

    IF EXISTS表示如果函数存在则执行删除操作,函数不存在也不会报错,只是发出一个notice。

-   **function_name**

    要删除的函数名称。

    取值范围:已存在的函数名。

-   **argmode**

    函数参数的模式。

-   **argname**

    函数参数的名称。

-   **argtype**

    函数参数的类型

-   **CASCADE | RESTRICT**

    -   CASCADE:级联删除依赖于函数的对象 。
    -   RESTRICT:如果有任何依赖对象存在,则拒绝删除该函数(缺省行为)。

#### 示例

-   删除函数可省略参数列表

    ```
    --创建函数。
    gaussdb=# CREATE FUNCTION func_test(varchar) RETURN VARCHAR AS
    BEGIN 
        RETURN $1||_'test';
    END;
    /

    --删除函数。
    gaussdb=# DROP FUNCTION func_test;
    ```

-   删除存在同名的函数

    []()[]()如果存在同名函数,删除时需加上参数列表,否则报错。

    ```
    --创建函数。
    gaussdb=# CREATE FUNCTION func_add(int) RETURNS int AS $$
    BEGIN 
        RETURN $1+10;
    END;
    $$ LANGUAGE PLPGSQL;

    --重载函数func_add。
    gaussdb=# CREATE FUNCTION func_add(int,int) RETURNS int AS $$
    BEGIN 
        RETURN $1+$2;
    END;
    $$ LANGUAGE PLPGSQL;

    --删除函数。
    gaussdb=# DROP FUNCTION func_add(int);
    gaussdb=# DROP FUNCTION func_add(int,int);
    ```

#### 相关链接

[ALTER FUNCTION](https://doc.hcs.huawei.com/db/zh-cn/gaussdbqlh/24.1.30/devg-dist/gaussdb-12-0488.html#ZH-CN_TOPIC_0000001865745804),[CREATE FUNCTION](https://doc.hcs.huawei.com/db/zh-cn/gaussdbqlh/24.1.30/devg-dist/gaussdb-12-0546.html#ZH-CN_TOPIC_0000001911586717)

更多详情请参考GaussDB 文档中心:<https://doc.hcs.huawei.com/db/zh-cn/gaussdbqlh/24.1.30/productdesc/qlh_03_0001.html>