DROP FUNCTION
DROP FUNCTION — удалить функцию
Синтаксис
DROP FUNCTION [ IF EXISTS ]имя
( [ [режим_аргумента
] [имя_аргумента
]тип_аргумента
[, ...] ] ) [ CASCADE | RESTRICT ]
Описание
DROP FUNCTION
удаляет определение существующей функции. Пользователь, выполняющий эту команду, должен быть владельцем функции. Помимо имени функции требуется указать типы её аргументов, так как в базе данных могут существовать несколько функций с одним именем, но с разными списками аргументов.
Параметры
IF EXISTS
Не считать ошибкой, если функция не существует. В этом случае будет выдано замечание.
имя
Имя существующей функции (возможно, дополненное схемой).
режим_аргумента
Режим аргумента:
IN
,OUT
,INOUT
илиVARIADIC
. По умолчанию подразумеваетсяIN
. Заметьте, чтоDROP FUNCTION
не учитывает аргументыOUT
, так как для идентификации функции нужны только типы входных аргументов. Поэтому достаточно перечислить только аргументыIN
,INOUT
иVARIADIC
.имя_аргумента
Имя аргумента. Заметьте, что на самом деле
DROP FUNCTION
не обращает внимание на имена аргументов, так как для однозначной идентификации функции достаточно только типов аргументов.тип_аргумента
Тип данных аргументов функции (возможно, дополненный именем схемы), если таковые имеются.
CASCADE
Автоматически удалять объекты, зависящие от данной функции (например, операторы или триггеры), и, в свою очередь, все зависящие от них объекты (см. Раздел 5.13).
RESTRICT
Отказать в удалении функции, если от неё зависят какие-либо объекты. Это поведение по умолчанию.
Примеры
Эта команда удаляет функцию, вычисляющую квадратный корень:
DROP FUNCTION sqrt(integer);
Совместимость
Оператор DROP FUNCTION
определён в стандарте SQL, но с данным оператором он несовместим.