DROP AGGREGATE

DROP AGGREGATE — remove uma função de agregação

Sinopse

DROP AGGREGATE [ IF EXISTS ] nome ( assinatura_da_agregação ) [, ...]
               [ CASCADE | RESTRICT ]

onde assinatura_da_agregação é:

* |
[ modo_do_argumento ] [ nome_do_argumento ] tipo_de_dados_do_argumento [ , ... ] |
[ [ modo_do_argumento ] [ nome_do_argumento ] tipo_de_dados_do_argumento [ , ... ] ]
ORDER BY [ modo_do_argumento ] [ nome_do_argumento ] tipo_de_dados_do_argumento [ , ... ]

Descrição

O comando DROP AGGREGATE remove uma função de agregação previamente definida. Para remover uma função de agregação, o usuário corrente deve ser o dono da função de agregação.

Parâmetros

IF EXISTS

Não lança erro se a função de agregação não existir. É emitido um aviso neste caso.

nome

O nome (opcionalmente qualificado pelo esquema) da função de agregação existente.

modo_do_argumento

O modo do argumento: IN ou VARIADIC. Se omitido, o padrão é IN.

nome_do_argumento

O nome do argumento. Note que na verdade o comando DROP AGGREGATE não presta atenção aos nomes dos argumentos, porque apenas os tipos de dados dos argumentos são necessários para determinar a identidade da função de agregação.

tipo_de_dados_do_argumento

O tipo de dados de entrada no qual esta função de agregação opera. Para fazer referência a uma função de agregação sem argumento, deve ser escrito * no lugar da lista de especificações de argumento. Para fazer referência a uma função de agregação de conjunto ordenado, deve ser escrito ORDER BY entre as especificações de argumento direto e agregado.

CASCADE

Remove automaticamente os objetos que dependem da função de agregação (como as visões que a usam) e, por sua vez, todos os objetos que dependem desses objetos (veja Acompanhamento de dependência).

RESTRICT

Recusa remover a função de agregação se algum objeto depender dela. Este é o comportamento padrão.

Notas

As sintaxes alternativas para fazer referência a agregações de conjuntos ordenados são descritas em ALTER AGGREGATE.

Exemplos

Para remover a função de agregação myavg para o tipo integer:

DROP AGGREGATE myavg(integer);

Para remover a função de agregação de conjunto hipotético myrank, que recebe uma lista arbitrária de colunas de ordenação, e uma lista correspondente de argumentos diretos:

DROP AGGREGATE myrank(VARIADIC "any" ORDER BY VARIADIC "any");

Para remover várias funções de agregação em um comando:

DROP AGGREGATE myavg(integer), myavg(bigint);

Conformidade

Não existe o comando DROP AGGREGATE no padrão SQL.

Veja também

ALTER AGGREGATE, CREATE AGGREGATE