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, DESCRIBE PROCEDURE
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> , ... ] ) SET TAG <tag_name> = '<tag_value>' [ , <tag_name> = '<tag_value>' ... ]
ALTER PROCEDURE [ IF EXISTS ] <name> ( [ <arg_data_type> , ... ] ) UNSET TAG <tag_name> [ , <tag_name> ... ]
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ß-/Kleinschreibung zu beachten.
arg_data_type [ , ... ]
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 new_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.
Sie können das Objekt in eine andere Datenbank und/oder in ein anderes Schema verschieben und dabei optional das Objekt umbenennen. Geben Sie dazu einen qualifizierten
new_name
-Wert an, der den neuen Datenbank- und/oder Schemanamen im Formatdb_name.schema_name.object_name
bzw.schema_name.object_name
enthält.Bemerkung
Die Zieldatenbank und/oder das Zielschema müssen bereits vorhanden sein. Außerdem darf in der Zieldatenbank nicht bereits ein gleichnamiges Schema vorhanden sein, da die Anweisung sonst einen Fehler zurückgibt.
Das Verschieben eines Objekts in ein verwaltetes Zugriffsschema ist nicht zulässig, es sei denn, der Objekteigentümer (d. h. die Rolle mit der Berechtigung OWNERSHIP für das Objekt) ist auch Eigentümer des Zielschemas.
Wenn ein Objekt umbenannt wird, müssen andere Objekte, die darauf verweisen, mit dem neuen Namen aktualisiert werden.
SET ...
Gibt die Eigenschaften an, die für die gespeicherte Prozedur festgelegt werden sollen:
COMMENT = 'string_literal'
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.
TAG tag_name = 'tag_value' [ , tag_name = 'tag_value' , ... ]
Gibt den Namen des Tags und den Wert der Tag-Zeichenfolge an.
Der Tag-Wert ist immer eine Zeichenfolge, die maximale 256 Zeichen lang sein kann.
Weitere Informationen zur Angabe von Tags in einer Anweisung finden Sie unter Tag-Kontingente für Objekte und Spalten.
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 folgenden Eigenschaften deaktivieren:
COMMENT
, wodurch der Kommentar zu der Prozedur, falls vorhanden, entfernt wird.TAG tag_name [ , tag_name ... ]
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 AnweisungALTER PROCEDURE ... EXECUTE AS OWNER
ausführen, wird die Prozedur künftig als Prozedur mit Eigentümerrechten ausgeführt.
Nutzungshinweise¶
Metadaten:
Achtung
Kunden müssen sicherstellen, dass bei der Nutzung des Snowflake-Dienstes keine personenbezogenen Daten (außer für ein Objekt „Benutzer“), sensible Daten, exportkontrollierte Daten oder andere regulierte Daten als Metadaten eingegeben werden. Weitere Informationen dazu finden Sie unter Metadatenfelder in Snowflake.
Beispiele¶
Benennen Sie die gespeicherte Prozedur procedure1
in procedure2
um:
ALTER PROCEDURE IF EXISTS procedure1(FLOAT) RENAME TO procedure2;