Перейти к основному содержимому

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.

Смотрите также

ALTER AGGREGATE, CREATE AGGREGATE