

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

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

`ALTER FUNCTION`ändert die Definition einer Funktion.

## Unterstützte Syntax
<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`ändert die Definition einer vorhandenen Funktion. 

 Sie müssen Eigentümer der Funktion sein, um sie verwenden zu können`ALTER FUNCTION`. Um das Schema einer Funktion zu ändern, müssen Sie auch über `CREATE` Berechtigungen für das neue Schema verfügen. Um den Besitzer zu ändern, müssen Sie Mitglied der neuen Eigentümerrolle sein, und diese Rolle muss über `CREATE` Rechte für das Schema der Funktion verfügen.

**`RENAME TO`**  
Ändert den Namen der Funktion.

**`OWNER TO`**  
Ändert den Besitzer der Funktion in den angegebenen Benutzer.

**`SET SCHEMA`**  
Verschiebt die Funktion in ein anderes Schema.

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

**{{name}}**  
Der Name (optional schemaqualifiziert) einer vorhandenen Funktion, die geändert werden soll.

**{{argmode}}**  
Der Modus eines Arguments:`IN`, `OUT``INOUT`, oder. `VARIADIC` Wenn es weggelassen wird, ist die Standardeinstellung`IN`. Die Funktion verwendet nur die Eingabeargumente zur Identifizierung, listen Sie also nur die `VARIADIC` Argumente `IN``INOUT`, und auf.

**{{argname}}**  
Der Name eines Arguments.

**{{argtype}}**  
Der/die Datentyp (en) der Argumente der Funktion.

**{{new\_name}}**  
Der neue Name für die Funktion.

**{{new\_owner}}**  
Der neue Besitzer der Funktion.

**{{new\_schema}}**  
Das neue Schema für die Funktion.

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

Um andere als die oben aufgeführten Attribute zu ändern, verwenden Sie`CREATE OR REPLACE FUNCTION`. Weitere Informationen finden Sie unter [`CREATE FUNCTION`](create-function-syntax-support.md).

Verwenden Sie den separaten `COMMENT ON FUNCTION` Befehl, um einen Kommentar zu einer Funktion hinzuzufügen, zu ändern oder zu entfernen.

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

Benennen Sie die Funktion `add` (die zwei `integer` Argumente benötigt) um in`sum_two`:

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

Ändert den Besitzer der Funktion `add` in den aktuellen Benutzer:

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

Verschiebe die Funktion `add` in das Schema`utils`:

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

## Kompatibilität
<a name="alter-function-compatibility"></a>

Aurora SQL unterstützt die `SET SCHEMA` Formen `RENAME TO``OWNER TO`, und der `ALTER FUNCTION` PostgreSQL-Anweisung. Die anderen in PostgreSQL verfügbaren Formen werden nicht unterstützt. 