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

DROP ROUTINE

DROP ROUTINE — Supprimer une routine

Synopsis

DROP ROUTINE [ IF EXISTS ] nom [ ( [ [ mode_arg ] [ nom_arg ] type_arg [, ...] ] ) ] [, ...]
    [ CASCADE | RESTRICT ]
  

Description

DROP ROUTINE supprime la définition d'une routine existante ou de plusieurs. Le terme « routine » inclut les fonctions d'agrégat, les fonctions normales et les procédures. Voir DROP AGGREGATE, DROP FUNCTION, et DROP PROCEDURE pour la description des paramètres, plus d'exemples, et de détails.

Notes

Les règles de recherche utilisées par DROP ROUTINE sont fondamentalement les mêmes que pour DROP PROCEDURE ; en particulier, DROP ROUTINE considère lui-aussi une liste d'arguments qui n'a pas de marqueurs argmode comme utilisant probablement la définition du standard SQL pour laquelle des arguments OUT sont inclus dans la liste. (DROP AGGREGATE et DROP FUNCTION ne le fait pas.)

Dans certains cas où le même nom est partagé par des routines de type différent, il est possible que DROP ROUTINE échoue avec une erreur d'ambiguïté quand une commande plus spécifique (DROP FUNCTION, etc.) fonctionnerait. Indiquer précisément la liste des types d'arguments peut aussi résoudre de tels problèmes.

Ces règles de recherche sont aussi utilisées par d'autres commandes qui agissent sur les routines existantes, telles que ALTER ROUTINE et COMMENT ON ROUTINE.

Exemples

Pour supprimer la routine foo pour le type integer :

DROP ROUTINE foo(integer);
   

Cette commande fonctionnera indépendamment du type de foo (fonction d'agrégat, fonction, procédure).

Compatibilité

Cette commande se conforme au standard SQL, avec ces extensions PostgreSQL :

  • Le standard autorise aussi la suppression d'une routine par commande.

  • L'option IF EXISTS est une extension.

  • La possibilité de spécifier les modes et noms des arguments est une extension, et les règles de recherche diffèrent quand les modes sont indiqués.

  • Les fonctions d'agrégat définies par les utilisateurs sont une extension.

Voir aussi

DROP AGGREGATE, DROP FUNCTION, DROP PROCEDURE, ALTER ROUTINE

Notez qu'il n'existe pas de commande CREATE ROUTINE.