Updated on 2025-07-22 GMT+08:00

DROP FUNCTION

Function

DROP FUNCTION deletes an existing function.

Precautions

  • To delete an overloaded function, you must specify the function's parameter (argument) type. For non-overloaded functions, you can delete them by just specifying the function name.
  • If a function involves operations on temporary tables, the function cannot be deleted by running DROP FUNCTION.

Syntax

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

Parameter Description

Table 1 DROP FUNCTION parameters

Parameter

Description

Value Range

IF EXISTS

Sends a notice instead of an error if the specified table does not exist.

-

function_name

Specifies the name of the function to be deleted.

Use an existing function name.

argmode

Specifies the mode of a function parameter.

-

argname

Specifies the name of a function parameter.

-

argtype

Specifies the data type of a function parameter.

-

CASCADE | RESTRICT

Specifies how to process related data in the dependent object when a delete operation is performed.

  • CASCADE: automatically deletes all objects that depend on the function to be deleted (such as operators).
  • RESTRICT: refuses to delete the function if any objects depend on it. This is the default.

Examples

Delete a function named add_two_number:

1
DROP FUNCTION add_two_number;