Kategorien:

DDL für benutzerdefinierte Funktionen, externe Funktionen und gespeicherte Prozeduren

ALTER PROCEDURE

Ändert die Eigenschaften für eine bestehende gespeicherte Prozedur. Derzeit werden nur die folgenden Operationen unterstützt: Umbenennen einer gespeicherten Prozedur oder Hinzufügen, Überschreiben und Entfernen eines Kommentars für eine gespeicherte Prozedur. Wenn Sie andere Änderungen an einer gespeicherten Prozedur vornehmen müssen, verwenden Sie stattdessen DROP PROCEDURE und erstellen Sie die gespeicherte Prozedur neu.

Siehe auch:

CREATE PROCEDURE, DROP PROCEDURE, SHOW PROCEDURES

Syntax

ALTER PROCEDURE [ IF EXISTS ] <name> ( [ <arg_data_type> , ... ] ) RENAME TO <new_name>

ALTER PROCEDURE [ IF EXISTS ] <name> ( [ <arg_data_type> , ... ] ) SET COMMENT = '<string_literal>'

ALTER PROCEDURE [ IF EXISTS ] <name> ( [ <arg_data_type> , ... ] ) UNSET COMMENT

ALTER PROCEDURE [ IF EXISTS ] <name> ( [ <arg_data_type> , ... ] ) EXECUTE AS { CALLER | OWNER }

Parameter

Name

Gibt den Bezeichner für die zu ändernde gespeicherte Prozedur an. Wenn der Bezeichner Leerzeichen oder Sonderzeichen enthält, muss die gesamte Zeichenfolge in doppelte Anführungszeichen gesetzt werden. Bei Bezeichnern, die in doppelte Anführungszeichen eingeschlossen sind, ist auch die Groß- und Kleinschreibung zu beachten.

Datentyp_des_Arguments [ , ... ]

Gibt den Datentyp des Arguments (der Argumente) für die gespeicherte Prozedur an, sofern sie Argumente enthält. Die Argumenttypen sind notwendig, da gespeicherte Prozeduren eine Überladung von Namen unterstützen (d. h. zwei gespeicherte Prozeduren im gleichen Schema können den gleichen Namen haben) und die Argumenttypen dazu dienen, die Prozedur zu identifizieren, die Sie ändern möchten.

RENAME TO neuer_Name

Gibt den neuen Bezeichner für die gespeicherte Prozedur an; die Kombination aus dem Bezeichner und den vorhandenen Argumentdatentypen muss für das Schema eindeutig sein.

Weitere Details dazu finden Sie unter Anforderungen an Bezeichner.

Wenn ein Objekt umbenannt wird, müssen andere Objekte, die darauf verweisen, mit dem neuen Namen aktualisiert werden.

SET ...

COMMENT = 'Zeichenfolgenliteral'

Fügt einen Kommentar hinzu oder überschreibt den vorhandenen Kommentar für die gespeicherte Prozedur. Der von Ihnen angegebene Wert wird in der Spalte DESCRIPTION der Ausgabe für SHOW PROCEDURES angezeigt.

UNSET ...

Gibt die Eigenschaften an, die für die gespeicherte Prozedur deaktiviert werden sollen, wodurch sie auf die Standardwerte zurückgesetzt werden.

Derzeit können Sie nur die Eigenschaft COMMENT deaktivieren, die den Kommentar, falls vorhanden, für die Prozedur entfernt.

EXECUTE AS

Eine gespeicherte Prozedur kann mit den Berechtigungen des Eigentümers (gespeicherte Prozedur mit „Eigentümerrechten“) oder mit den Berechtigungen des Aufrufers (gespeicherte Prozedur mit „Aufruferrechten“) ausgeführt werden. Wenn Sie die Anweisung ALTER PROCEDURE ... EXECUTE AS CALLER ausführen, wird die Prozedur künftig als Prozedur mit Aufruferrechten ausgeführt. Wenn Sie die Anweisung ALTER PROCEDURE ... EXECUTE AS OWNER ausführen, wird die Prozedur künftig als Prozedur mit Eigentümerrechten ausgeführt.

Beispiele

Benennen Sie die gespeicherte Prozedur procedure1 in procedure2 um:

ALTER PROCEDURE IF EXISTS procedure1(FLOAT) RENAME TO procedure2;