DROP FUNCTION v16

Name

DROP FUNCTION Remove a function.

Synopsis

DROP FUNCTION [ IF EXISTS ] <name>
  [ ([ [ <argmode> ] [ <argname> ] <argtype> ] [, ...]) ]
  [ CASCADE | RESTRICT ]

Description

DROP FUNCTION removes the definition of an existing function. To execute this command, you must be a superuser or the owner of the function. If this is an overloaded function, you must specify all input (IN, IN OUT) argument data types to the function.

Note

This requirement isn't compatible with Oracle databases. In Oracle, you specify only the function name. EDB Postgres Advanced Server allows you to overload function names. Therefore, the function signature given by the input argument data types is required in the EDB Postgres Advanced Server DROP FUNCTION command of an overloaded function.

The IF EXISTS, CASCADE, and RESTRICT parameters aren't compatible with Oracle databases. Only EDB Postgres Advanced Server uses them.

Parameters

IF EXISTS

Specifies not to throw an error if the function doesn't exist. A notice is issued instead.

name

The name (optionally schema-qualified) of an existing function.

argmode

The mode of an argument: IN, IN OUT, or OUT. If omitted, the default is IN. DROP FUNCTION ignores OUT arguments, since only the input arguments are needed to determine the function’s identity. You need to list only the IN and IN OUT arguments.

!!! Note Specifying argmode isn't compatible with Oracle databases. It applies only to EDB Postgres Advanced Server.

argname

The name of an argument. DROP FUNCTION ignores argument names, since only the argument data types are needed to determine the function’s identity.

!!! Note Specifying argname isn't compatible with Oracle databases. It applies only to EDB Postgres Advanced Server.

argtype

The data type of an argument of the function.

!!! Note Specifying argtype isn't compatible with Oracle databases. It applies only to EDB Postgres Advanced Server.

CASCADE

Drop objects that depend on the function, such as operators or triggers, and objects that depend on those objects.

RESTRICT

Prevent dropping the function if any objects depend on it. This is the default.

Examples

This example removes the emp_comp function:

DROP FUNCTION emp_comp(NUMBER, NUMBER);

See also

CREATE FUNCTION

export const _frontmatter = {"title":"DROP FUNCTION","legacyRedirectsGenerated":["/edb-docs/d/edb-postgres-advanced-server/reference/database-compatibility-for-oracle-developers-reference-guide/9.6/Database_Compatibility_for_Oracle_Developers_Reference_Guide.1.061.html","/edb-docs/d/edb-postgres-advanced-server/user-guides/database-compatibility-for-oracle-developers-guide/9.5/Database_Compatibility_for_Oracle_Developers_Guide.1.089.html"],"redirects":["/epas/latest/epas_compat_sql/47_drop_function/"]}