DROP PROCEDURE v14

Name

DROP PROCEDURE -- remove a procedure.

Synopsis

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

Description

DROP PROCEDURE removes the definition of an existing procedure. To execute this command you must be a superuser or the owner of the procedure. All input (IN, IN OUT) argument data types to the procedure must be specified if this is an overloaded procedure. (This requirement is not compatible with Oracle databases. In Oracle, only the procedure name is specified. EDB Postgres Advanced Server allows overloading of procedure names, so the procedure signature given by the input argument data types is required in the EDB Postgres Advanced Server DROP PROCEDURE command of an overloaded procedure.)

Usage of IF EXISTS, CASCADE, or RESTRICT is not compatible with Oracle databases and is used only by EDB Postgres Advanced Server.

Parameters

IF EXISTS

don't throw an error if the procedure does not exist. A notice is issued in this case.

name

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

argmode

The mode of an argument: IN, IN OUT, or OUT. If omitted, the default is IN. Note that DROP PROCEDURE does not actually pay any attention to OUT arguments, since only the input arguments are needed to determine the procedure’s identity. So it is sufficient to list only the IN and IN OUT arguments. (Specification of argmode is not compatible with Oracle databases and applies only to EDB Postgres Advanced Server.)

argname

The name of an argument. Note that DROP PROCEDURE does not actually pay any attention to argument names, since only the argument data types are needed to determine the procedure’s identity. (Specification of argname is not compatible with Oracle databases and applies only to EDB Postgres Advanced Server.)

argtype

The data type of an argument of the procedure. (Specification of argtype is not compatible with Oracle databases and applies only to EDB Postgres Advanced Server.)

CASCADE

Automatically drop objects that depend on the procedure, and in turn all objects that depend on those objects.

RESTRICT

Refuse to drop the procedure if any objects depend on it. This is the default.

Examples

The following command removes the select_emp procedure.

DROP PROCEDURE select_emp;

See also

CREATE PROCEDURE, ALTER PROCEDURE