PostgreSQLLa base de données la plus sophistiquée au monde.
Documentation PostgreSQL 12.22 » 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_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 [, ...] ] ) ]
    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_execution
    ROWS nb_lignes_resutlat
    SET parametre_configuration { TO | = } { value | DEFAULT }
    SET parametre_configuration FROM CURRENT
    RESET parametre_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 pour le type integer vers 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.