Updated on 2024-06-03 GMT+08:00

DROP FUNCTION

Description

Deletes a function.

Precautions

  • If a function involves operations on temporary tables, DROP FUNCTION cannot be used.
  • Only the function owner or a user granted with the DROP permission can run the DROP FUNCTION command. The system administrator has this permission by default.

Syntax

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

Parameters

  • IF EXISTS

    Reports a notice instead of an error if the specified function does not exist.

  • function_name

    Specifies the name of the function to be deleted.

    Value range: an existing function name

  • argmode

    Specifies the parameter mode of the function.

  • argname

    Specifies the parameter name of the function.

  • argtype

    Specifies the parameter type of the function.

  • CASCADE | RESTRICT
    • CASCADE: automatically deletes the objects that depend on the function.
    • RESTRICT: refuses to delete the function if any objects depend on it. This is the default action.

Examples

  • Delete the list of parameters that can be omitted when a function.
    -- Create a function.
    gaussdb=# CREATE FUNCTION func_test(varchar) RETURN VARCHAR AS
    BEGIN 
        RETURN $1||_'test';
    END;
    /
    
    -- Delete the function.
    gaussdb=# DROP FUNCTION func_test;
  • Delete a function with the same name.
    If a function with the same name exists, add a parameter list when deleting the function. Otherwise, an error is reported.
    -- Create a function.
    gaussdb=# CREATE FUNCTION func_add(int) RETURNS int AS $$
    BEGIN 
        RETURN $1+10;
    END;
    $$ LANGUAGE PLPGSQL;
    
    -- Reload the func_add function.
    gaussdb=# CREATE FUNCTION func_add(int,int) RETURNS int AS $$
    BEGIN 
        RETURN $1+$2;
    END;
    $$ LANGUAGE PLPGSQL;
    
    -- Delete the function.
    gaussdb=# DROP FUNCTION func_add(int);
    gaussdb=# DROP FUNCTION func_add(int,int);

Helpful Links

ALTER FUNCTION and CREATE FUNCTION