DROP AGGREGATE
note
Эта страница переведена при помощи нейросети GigaChat.
DROP AGGREGATE – удаление агрегатной функции.
Синтаксис
DROP AGGREGATE [ IF EXISTS ] name ( aggregate_signature ) [, ...] [ CASCADE | RESTRICT ]
where aggregate_signature is:
* |
[ argmode ] [ argname ] argtype [ , ... ] |
[ [ argmode ] [ argname ] argtype [ , ... ] ] ORDER BY [ argmode ] [ argname ] argtype [ , ... ]
Описание
DROP AGGREGATE удаляет существующую агрегатную функцию. Для выполнения этой команды текущий пользователь должен быть владельцем агрегатной функции.
Параметры
IF EXISTS- Подавляет ошибку, если указанный агрегат не существует, вместо этого будет выдано предупреждение.
name- Имя существующей агрегатной функции, при необходимости дополненное схемой.
argmode- Режим аргумента:
INилиVARIADIC. Если опущено, используется значение по умолчаниюIN.
argname- Имя аргумента. Обратите внимание, что
DROP AGGREGATEфактически не обращает внимания на имена аргументов, поскольку для определения идентичности агрегатной функции требуются только типы данных аргументов.
argtype- Тип входных данных, над которым работает агрегатная функция. Чтобы сослаться на агрегатную функцию без аргументов, напишите
*вместо списка спецификаций аргументов. Чтобы сослаться на упорядоченную агрегатную функцию набора, напишитеORDER BYмежду прямыми и агрегированными спецификациями аргументов.
CASCADE- Автоматически удаляет объекты, которые зависят от агрегатной функции (например, представления, использующие ее), а также все объекты, зависящие от этих объектов.
RESTRICT- Запрещает удаление агрегатной функции, если какие-либо объекты зависят от нее. Это значение по умолчанию.
Примечания
Альтернативные синтаксисы для ссылок на агрегаты упорядоченного набора описаны в разделе ALTER AGGREGATE.
Примеры
Чтобы удалить агрегатную функцию myavg для типа integer:
DROP AGGREGATE myavg(integer);
Чтобы удалить гипотетическую агрегатную функцию myrank, которая принимает произвольный список столбцов упорядочивания и соответствующий список прямых аргументов:
DROP AGGREGATE myrank(VARIADIC "any" ORDER BY VARIADIC "any");
Чтобы удалить несколько агрегатных функций одной командой:
DROP AGGREGATE myavg(integer), myavg(bigint);
Совместимость
В стандарте SQL нет команды DROP AGGREGATE.