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, но с данным оператором он несовместим.
