

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# `ALTER FUNCTION`
<a name="alter-function-syntax-support"></a>

`ALTER FUNCTION`modifie la définition d'une fonction.

## Syntaxe prise en charge
<a name="alter-function-supported-syntax"></a>

```
ALTER FUNCTION name [ ( [ [ argmode ] [ argname ] argtype [, ...] ] ) ]
    RENAME TO new_name
ALTER FUNCTION name [ ( [ [ argmode ] [ argname ] argtype [, ...] ] ) ]
    OWNER TO { new_owner | CURRENT_ROLE | CURRENT_USER | SESSION_USER }
ALTER FUNCTION name [ ( [ [ argmode ] [ argname ] argtype [, ...] ] ) ]
    SET SCHEMA new_schema
```

## Description
<a name="alter-function-description"></a>

`ALTER FUNCTION`modifie la définition d'une fonction existante. 

 Vous devez être propriétaire de la fonction à utiliser`ALTER FUNCTION`. Pour modifier le schéma d'une fonction, vous devez également disposer de `CREATE` privilèges sur le nouveau schéma. Pour modifier le propriétaire, vous devez être membre du nouveau rôle propriétaire, et ce rôle doit disposer de `CREATE` privilèges sur le schéma de la fonction.

**`RENAME TO`**  
Modifie le nom de la fonction.

**`OWNER TO`**  
Remplace le propriétaire de la fonction par l'utilisateur spécifié.

**`SET SCHEMA`**  
Déplace la fonction dans un autre schéma.

## Parameters
<a name="alter-function-parameters"></a>

**{{name}}**  
Le nom (éventuellement qualifié par un schéma) d'une fonction existante à modifier.

**{{argmode}}**  
Le mode d'un argument : `IN``OUT`,`INOUT`, ou`VARIADIC`. En cas d'omission, la valeur par défaut est`IN`. La fonction utilise uniquement les arguments d'entrée pour l'identification, donc ne listez que les `VARIADIC` arguments `IN``INOUT`, et.

**{{argname}}**  
Le nom d'un argument.

**{{argtype}}**  
Le ou les types de données des arguments de la fonction.

**{{new\_name}}**  
Le nouveau nom de la fonction.

**{{new\_owner}}**  
Le nouveau propriétaire de la fonction.

**{{new\_schema}}**  
Le nouveau schéma de la fonction.

## Considérations
<a name="alter-function-considerations"></a>

Pour modifier d'autres attributs que ceux listés ci-dessus, utilisez`CREATE OR REPLACE FUNCTION`. Pour plus d’informations, consultez [`CREATE FUNCTION`](create-function-syntax-support.md).

Pour ajouter, modifier ou supprimer un commentaire sur une fonction, utilisez la `COMMENT ON FUNCTION` commande séparée.

## Exemples
<a name="alter-function-examples"></a>

Renommez la fonction `add` (qui prend deux `integer` arguments) comme suit : `sum_two`

```
ALTER FUNCTION add(integer, integer) RENAME TO sum_two;
```

Remplacez le propriétaire de la fonction `add` par l'utilisateur actuel :

```
ALTER FUNCTION add(integer, integer) OWNER TO CURRENT_USER;
```

Déplacez la fonction `add` dans le schéma `utils` :

```
ALTER FUNCTION add(integer, integer) SET SCHEMA utils;
```

## Compatibilité
<a name="alter-function-compatibility"></a>

Aurora SQL prend en charge les `SET SCHEMA` formes `RENAME TO``OWNER TO`, et de l'instruction PostgreSQL`ALTER FUNCTION`. Les autres formulaires disponibles dans PostgreSQL ne sont pas pris en charge. 