DROP AGGREGATE
Синтаксис
DROP AGGREGATE [ IF EXISTS ] имя ( сигнатура_агр_функции ) [ CASCADE | RESTRICT ]
Здесь сигнатура_агр_функции:
* |
[ режим_аргумента ] [ имя_аргумента ] тип_аргумента [ , ... ] |
[ [ режим_аргумента ] [ имя_аргумента ] тип_аргумента [ , ... ] ] ORDER BY [ режим_аргумента ] [ имя_аргумента ] тип_аргумента [ , ... ]
Описание
DROP AGGREGATE удаляет существующую агрегатную функцию. Пользователь, выполняющий эту команду, должен быть владельцем агрегатной функции.
Параметры
- IF EXISTS
Не считать ошибкой, если агрегатная функция не существует. В этом случае будет выдано замечание.
- имя
Имя (возможно, дополненное схемой) существующей агрегатной функции.
- режим_аргумента
Режим аргумента: IN или VARIADIC. По умолчанию подразумевается IN.
- имя_аргумента
Имя аргумента. Заметьте, что на самом деле DROP AGGREGATE не обращает внимание на имена аргументов, так как для однозначной идентификации агрегатной функции достаточно только типов аргументов.
- тип_аргумента
Тип входных данных, с которыми работает агрегатная функция. Чтобы сослаться на агрегатную функцию без аргументов, укажите вместо списка аргументов *, а чтобы сослаться на сортирующую агрегатную функцию, добавьте ORDER BY между указаниями непосредственных и агрегируемых аргументов.
- CASCADE
Автоматически удалять объекты, зависящие от данной агрегатной функции.
- RESTRICT
Отказать в удалении агрегатной функции, если от неё зависят какие-либо объекты. Это поведение по умолчанию.
Примеры
Удаление агрегатной функции myavg для типа integer:
DROP AGGREGATE myavg(integer);
Удаление гипотезирующей агрегатной функции myrank, которая принимает произвольный список сортируемых колонок и соответствующий список прямых аргументов:
DROP AGGREGATE myrank(VARIADIC "any" ORDER BY VARIADIC "any");
Пред. | Начало | След. |
DO | Уровень выше | DROP CAST |