DROP FUNCTION

Удаление функции.

Обзор

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

Описание

DROP FUNCTION удаляет определение существующей функции. Чтобы выполнить эту команду, пользователь должен быть владельцем функции. Необходимо указать тип параметра функции, поскольку может существовать несколько различных функций с одинаковым именем, но разными списками параметров.

Параметры

IF EXISTS

  • Если функция не существует, ошибка не возникает. В этом случае выдается уведомление.

name

  • Имя существующей функции (может быть указано по шаблону).

argmode

  • Режим параметра: IN, OUT, INOUT или VARIADIC. Если опущен, значение по умолчанию — IN. Обратите внимание, что команда DROP FUNCTION фактически не учитывает выходные (OUT) параметры, так как для определения идентификации функции требуются только входные параметры. Поэтому достаточно перечислить параметры IN, INOUT и VARIADIC.

argname

  • Имя параметра. Обратите внимание, что DROP FUNCTION фактически не учитывает имена параметров, поскольку для определения идентификации функции требуются только типы данных параметров.

argtype

  • Тип данных параметра функции (может быть указан по шаблону) (если есть).

CASCADE

  • Автоматически удалять объекты, зависящие от функции, например операторы.

RESTRICT

  • Запрещать удаление функции, если на неё есть зависимые объекты. Это значение по умолчанию.

Пример

Удаление функции извлечения квадратного корня:

DROP FUNCTION sqrt(integer);

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

Оператор DROP FUNCTION определён в стандарте SQL, однако данная команда несовместима с ним.

См. также

ALTER FUNCTION , CREATE FUNCTION