DROP AGGREGATE#
Примечание
Эта страница переведена при помощи нейросети 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.