

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

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

`ALTER FUNCTION`modifica la definizione di una funzione.

## Sintassi supportata
<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`modifica la definizione di una funzione esistente. 

 È necessario possedere la funzione da utilizzare`ALTER FUNCTION`. Per modificare lo schema di una funzione, è necessario disporre anche dei `CREATE` privilegi sul nuovo schema. Per modificare il proprietario, devi essere un membro del nuovo ruolo proprietario e quel ruolo deve avere `CREATE` privilegi sullo schema della funzione.

**`RENAME TO`**  
Cambia il nome della funzione.

**`OWNER TO`**  
Cambia il proprietario della funzione con l'utente specificato.

**`SET SCHEMA`**  
Sposta la funzione in un altro schema.

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

**{{name}}**  
Il nome (facoltativamente qualificato dallo schema) di una funzione esistente da modificare.

**{{argmode}}**  
La modalità di un argomento:`IN`,`OUT`, `INOUT` o. `VARIADIC` Se omesso, il valore predefinito è`IN`. La funzione utilizza solo gli argomenti di input per l'identificazione, quindi elenca solo gli `VARIADIC` argomenti `IN``INOUT`, e.

**{{argname}}**  
Il nome di un argomento.

**{{argtype}}**  
Il tipo o i tipi di dati degli argomenti della funzione.

**{{new\_name}}**  
Il nuovo nome della funzione.

**{{new\_owner}}**  
Il nuovo proprietario della funzione.

**{{new\_schema}}**  
Il nuovo schema per la funzione.

## Considerazioni
<a name="alter-function-considerations"></a>

Per modificare altri attributi oltre a quelli sopra elencati, usa`CREATE OR REPLACE FUNCTION`. Per ulteriori informazioni, consulta [`CREATE FUNCTION`](create-function-syntax-support.md).

Per aggiungere, modificare o rimuovere un commento su una funzione, utilizzate il `COMMENT ON FUNCTION` comando separate.

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

Rinomina la funzione `add` (che accetta due `integer` argomenti) in`sum_two`:

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

Cambia il proprietario della funzione `add` con l'utente corrente:

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

Sposta la funzione `add` nello schema`utils`:

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

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

Aurora DSQL supporta l'istruzione PostgreSQL `RENAME TO``OWNER TO`, e i `SET SCHEMA` moduli. `ALTER FUNCTION` Gli altri moduli disponibili in PostgreSQL non sono supportati. 