DROP AGGREGATE

DROP AGGREGATE — elimina una función de agregación

Synopsis

DROP AGGREGATE [ IF EXISTS ] nombre ( firma_agregado ) [, ...] [ CASCADE | RESTRICT ]

donde firma_agregado es:

* |
[ modo_arg ] [ nombre_arg ] tipo_arg [ , ... ] |
[ [ modo_arg ] [ nombre_arg ] tipo_arg [ , ... ] ] ORDER BY [ modo_arg ] [ nombre_arg ] tipo_arg [ , ... ]

Descripción

DROP AGGREGATE elimina una función de agregación existente. Para ejecutar este comando, el usuario actual debe ser el propietario de la función de agregación.

Parámetros

IF EXISTS

No arroja un error si la función de agregación no existe. Se emite una advertencia (notice) en este caso.

nombre

El nombre (opcionalmente calificado por esquema) de una función de agregación existente.

modo_arg

El modo de un argumento: IN o VARIADIC. Si se omite, el valor predeterminado es IN.

nombre_arg

El nombre de un argumento. Ten en cuenta que DROP AGGREGATE en realidad no presta atención a los nombres de los argumentos, ya que solo se necesitan los tipos de datos de los argumentos para determinar la identidad de la función de agregación.

tipo_arg

Un tipo de datos de entrada sobre el cual opera la función de agregación. Para hacer referencia a una función de agregación con cero argumentos, escribe * en lugar de la lista de especificaciones de argumentos. Para hacer referencia a una función de agregación de conjunto ordenado (ordered-set), escribe ORDER BY entre las especificaciones de los argumentos directos y los agregados.

CASCADE

Elimina automáticamente los objetos que dependen de la función de agregación (como las vistas que la utilizan), y a su vez todos los objetos que dependen de esos objetos (consulta la Section 5.15).

RESTRICT

Rechaza eliminar la función de agregación si hay objetos que dependen de ella. Este es el comportamiento predeterminado.

Notas

Las sintaxis alternativas para hacer referencia a agregados de conjunto ordenado (ordered-set) se describen en la ALTER AGGREGATE.

Ejemplos

Para eliminar la función de agregación myavg para el tipo integer:

DROP AGGREGATE myavg(integer);

Para eliminar la función de agregación de conjunto hipotético myrank, que toma una lista arbitraria de columnas de ordenación y una lista coincidente de argumentos directos:

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

Para eliminar múltiples funciones de agregación en un solo comando:

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

Compatibilidad

No existe la sentencia DROP AGGREGATE en el estándar SQL.

Véase también

ALTER AGGREGATE, CREATE AGGREGATE