Documentation PostgreSQL 15.15 » Référence » Commandes SQL » ALTER ROUTINE

Précédent | Niveau supérieur | Suivant
ALTER ROLE | Sommaire | ALTER RULE

## 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

    où 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`.