DROP ROUTINE

DROP ROUTINE — удалить подпрограмму

Синтаксис

DROP ROUTINE [ IF EXISTS ] имя [ ( [ [ режим_аргумента ] [ имя_аргумента ] тип_аргумента [, ...] ] ) ] [, ...]
    [ CASCADE | RESTRICT ]

Описание

DROP ROUTINE удаляет определение существующей подпрограммы, которой может быть обычная функция, агрегат или процедура. Описание параметров, дополнительные примеры и подробности приведены в описаниях DROP AGGREGATE, DROP FUNCTION и DROP PROCEDURE.

Примеры

Удаление подпрограммы foo для типа integer:

DROP ROUTINE foo(integer);

Эта команда будет работать независимо от того, является ли foo агрегатом, функцией или процедурой.

Совместимость

Эта команда соответствует стандарту SQL, но дополнена следующими расширениями Postgres Pro:

  • Стандарт позволяет удалять с помощью этой команды только одну подпрограмму.

  • Указание IF EXISTS

  • Возможность указывать режимы и имена аргументов

  • Поддержка агрегатных функций.

См. также

DROP AGGREGATE, DROP FUNCTION, DROP PROCEDURE, ALTER ROUTINE

Заметьте, что также отсутствует команда CREATE ROUTINE.

DROP ROUTINE

DROP ROUTINE — remove a routine

Synopsis

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

Description

DROP ROUTINE removes the definition of an existing routine, which can be an aggregate function, a normal function, or a procedure. See under DROP AGGREGATE, DROP FUNCTION, and DROP PROCEDURE for the description of the parameters, more examples, and further details.

Examples

To drop the routine foo for type integer:

DROP ROUTINE foo(integer);

This command will work independent of whether foo is an aggregate, function, or procedure.

Compatibility

This command conforms to the SQL standard, with these Postgres Pro extensions:

  • The standard only allows one routine to be dropped per command.

  • The IF EXISTS option

  • The ability to specify argument modes and names

  • Aggregate functions are an extension.

See Also

DROP AGGREGATE, DROP FUNCTION, DROP PROCEDURE, ALTER ROUTINE

Note that there is no CREATE ROUTINE command.

FAQ