DROP AGGREGATE — remove uma função de agregação
DROP AGGREGATE [ IF EXISTS ]nome(assinatura_da_agregação) [, ...] [ CASCADE | RESTRICT ] ondeassinatura_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[ , ... ]
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.
IF EXISTSNão lança erro se a função de agregação não existir. É emitido um aviso neste caso.
nomeO 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.
CASCADERemove 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).
RESTRICTRecusa remover a função de agregação se algum objeto depender dela. Este é o comportamento padrão.
As sintaxes alternativas para fazer referência a agregações de conjuntos ordenados são descritas em ALTER AGGREGATE.
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);
Não existe o comando DROP AGGREGATE no padrão
SQL.