PostgreSQLLa base de données la plus sophistiquée au monde.
Documentation PostgreSQL 17.1 » Référence » Commandes SQL » DROP FUNCTION

DROP FUNCTION

DROP FUNCTION — Supprimer une fonction

Synopsis

DROP FUNCTION [ IF EXISTS ] nom [ ( [ [ modearg ] [ nomarg ] typearg [, ...] ] ) ] [, ...]
    [ CASCADE | RESTRICT ]
  

Description

DROP FUNCTION supprime la définition d'une fonction. Seul le propriétaire de la fonction peut exécuter cette commande. Les types d'argument de la fonction doivent être précisés car plusieurs fonctions peuvent exister avec le même nom et des listes différentes d'arguments.

Paramètres

IF EXISTS

Ne pas renvoyer une erreur si l'agrégat n'existe pas. Un message d'avertissement est affiché dans ce cas.

nom

Le nom (éventuellement qualifié du nom du schéma) de la fonction. Si aucune liste d'argument n'est spécifiée, le nom doit être unique dans son schéma.

modearg

Le mode d'un argument : IN, OUT, INOUT ou VARIADIC. Sans précision, la valeur par défaut est IN. DROP FUNCTION ne s'intéresse pas aux arguments OUT car seuls ceux en entrée déterminent l'identité de la fonction. Il est ainsi suffisant de lister les arguments IN, INOUT et VARIADIC.

nomarg

Le nom d'un argument. DROP FUNCTION ne tient pas compte des noms des arguments car seuls les types de données sont nécessaires pour déterminer l'identité de la fonction.

typearg

Le(s) type(s) de données des arguments de la fonction (éventuellement qualifié(s) du nom du schéma).

CASCADE

Les objets qui dépendent de la fonction (opérateurs ou triggers) sont automatiquement supprimés, ainsi que tous les objets dépendants de ces objets (voir Section 5.15).

RESTRICT

La fonction n'est pas supprimée si un objet en dépend. Comportement par défaut.

Exemples

Supprimer la fonction de calcul d'une racine carrée :

DROP FUNCTION sqrt(integer);
   

Supprimer plusieurs fonctions en une commande :

DROP FUNCTION sqrt(integer), sqrt(bigint);
   

Si le nom de fonction est unique dans son schéma, il peut être utilisé sans liste d'argument :

DROP FUNCTION update_employee_salaries;
   

Veuillez noter que c'est différent de :

DROP FUNCTION update_employee_salaries();
   

Qui se réfère à une fonction avec zéro argument, alors que la première variante peut se référer à une fonction ayant n'importe quel nombre d'arguments, y compris zéro, du moment que le nom est unique.

Compatibilité

Cette commande est conforme avec le standard SQL, avec ces extensions PostgreSQL :

  • Le standard n'autorise qu'une seule fonction à être supprimée par commande.

  • L'option IF EXISTS

  • La possibilité de spécifier les modes et noms d'argument.