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

ALTER ROUTINE

ALTER ROUTINE — Modifier la définition d'une routine

Synopsis

ALTER ROUTINE nom [ ( [ [ mode_arg ] [ nom_arg ] type_arg [, ...] ] ) ]
    action [ ... ] [ RESTRICT ]
ALTER ROUTINE nom [ ( [ [ mode_arg ] [ nom_arg ] type_arg [, ...] ] ) ]
    RENAME TO nouveau_nom
ALTER ROUTINE nom [ ( [ [ mode_arg ] [ nom_arg ] type_arg [, ...] ] ) ]
    OWNER TO { nouveau_propriétaire | CURRENT_ROLE | CURRENT_USER | SESSION_USER }
ALTER ROUTINE nom [ ( [ [ mode_arg ] [ nom_arg ] type_arg [, ...] ] ) ]
    SET SCHEMA nouveau_schéma
ALTER ROUTINE nom [ ( [ [ mode_arg ] [ nom_arg ] type_arg [, ...] ] ) ]
    [ NO ] DEPENDS ON EXTENSION nom_extension

action peut
être :

    IMMUTABLE | STABLE | VOLATILE
    [ NOT ] LEAKPROOF
    [ EXTERNAL ] SECURITY INVOKER | [ EXTERNAL ] SECURITY DEFINER
    PARALLEL { UNSAFE | RESTRICTED | SAFE }
    COST cout_exécution
    ROWS nb_lignes_résultat
    SET paramètre_configuration { TO | = } { valeur | DEFAULT }
    SET paramètre_configuration FROM CURRENT
    RESET paramètre_configuration
    RESET ALL
  

Description

ALTER ROUTINE modifie la définition d'une routine, qui peut être une fonction d'agrégat, une fonction normale ou une procédure. Voir ALTER AGGREGATE, ALTER FUNCTION, et ALTER PROCEDURE pour la description des paramètres, plus d'exemples et plus de détails.

Exemples

Pour renommer la routine foo ayant un argument de type integer en foobar :

ALTER ROUTINE foo(integer) RENAME TO foobar;
   

Cette commande fonctionnera indépendamment du fait que foo soit une fonction d'agrégat, une fonction ou une procédure.

Compatibilité

Cette commande est partiellement compatible avec la commande ALTER ROUTINE du standard SQL. Voir ALTER FUNCTION et ALTER PROCEDURE pour plus de détails. Autoriser les noms de routine à se référer à des noms de fonctions d'agrégat est une extension de PostgreSQL.

Voir aussi

ALTER AGGREGATE, ALTER FUNCTION, ALTER PROCEDURE, DROP ROUTINE

Veuillez noter qu'il n'existe pas de commande CREATE ROUTINE.