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