DROP AGGREGATE — Supprimer une fonction d'agrégat
DROP AGGREGATE [ IF EXISTS ] nom ( signature_agrégat ) [, ...] [ CASCADE | RESTRICT ]
where signature_agrégat is:
* |
[ mode_arg ] [ nom_arg ] type_arg [ , ... ] |
[ [ mode_arg ] [ nom_arg ] type_arg [ , ... ] ] ORDER BY [ mode_arg ] [ nom_arg ] type_arg [ , ... ]
DROP AGGREGATE supprime une fonction d'agrégat. Pour exécuter cette commande, l'utilisateur courant doit être le propriétaire de la fonction.
Ne pas renvoyer une erreur si l'agrégat n'existe pas. Un message d'avertissement est affiché dans ce cas.
Le nom (éventuellement qualifié du nom de schéma) d'une fonction d'agrégat.
Le mode d'un argument : IN ou VARIADIC. Si non précisé, la valeur par défaut est IN.
Le nom d'un argument. Notez que DROP AGGREGATE ne se préoccupe pas du nom de l'argument, puisque seul le type de donnée de l'argument est nécessaire pour déterminer l'identité de la fonction d'aggrégat.
Un type de données en entrée avec lequel la fonction d'agrégat opère. Pour référencer une fonction d'agrégat sans arguments, écrivez * à la place de la liste des spécifications d'argument. Pour référencer une fonction d'agrégat d'ensemble trié, écrivez ORDER BY entre les spécifications des arguments directs et des arguments agrégés.
Les objets qui dépendent de la fonction d'agrégat sont automatiquement supprimés, ainsi que tous les objets dépendants de ces objets (voir Section 5.13, « Gestion des dépendances »).
La fonction d'agrégat n'est pas supprimée si un objet en dépend. Comportement par défaut.
Les syntaxes alternatives pour référencer des agrégats de tri d'ensemble sont décrits sur ALTER AGGREGATE(7).
Supprimer la fonction d'agrégat mamoyenne pour le type integer :
DROP AGGREGATE mamoyenne(integer);
Pour supprimer la fonction d'agrégat d'ensemble hypothétique monrang, qui prend une liste arbitraire de colonnes pour le tri et une liste de comparaison des arguments directs :
DROP AGGREGATE monrang(VARIADIC "any" ORDER BY VARIADIC "any");
Pour supprimer plusieurs fonctions d'agrégat en une seule commande :
DROP AGGREGATE myavg(integer), myavg(bigint);