Kategorien:

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

ALTER EXTERNAL FUNCTION

Ändert die Eigenschaften einer vorhandenen externen Funktion.

Siehe auch:

CREATE EXTERNAL FUNCTION, DESCRIBE FUNCTION, DROP FUNCTION, SHOW EXTERNAL FUNCTIONS

Syntax

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

ALTER FUNCTION [ IF EXISTS ] <name> ( [ <arg_data_type> , ... ] ) SET API_INTEGRATION = <api_integration_name>

ALTER FUNCTION [ IF EXISTS ] <name> ( [ <arg_data_type> , ... ] )
  SET HEADERS = ( [ '<header_1>' = '<value>' [ , '<header_2>' = '<value>' ... ] ] )

ALTER FUNCTION [ IF EXISTS ] <name> ( [ <arg_data_type> , ... ] )
  SET CONTEXT_HEADERS = ( [ <context_function_1> [ , context_function_2> ...] ] )

ALTER FUNCTION [ IF EXISTS ] <name> ( [ <arg_data_type> , ... ] ) SET MAX_BATCH_ROWS = <integer>

ALTER FUNCTION [ IF EXISTS ] <name> ( [ <arg_data_type> , ... ] ) SET COMPRESSION = <compression_type>

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

ALTER FUNCTION [ IF EXISTS ] <name> ( [ <arg_data_type> , ... ] ) SET SECURE

ALTER FUNCTION [ IF EXISTS ] <name> ( [ <arg_data_type> , ... ] ) UNSET { COMMENT | HEADERS | CONTEXT_HEADERS | MAX_BATCH_ROWS | COMPRESSION | SECURE }

Parameter

Name:

Gibt den Bezeichner der Funktion an.

Der Bezeichner kann den Schemanamen und den Datenbanknamen sowie den Funktionsnamen enthalten.

( [ Datentyp_des_Arguments ] [ , ... ] )

Gibt die Datentypen der Argumente/Eingaben für die externe Funktion an.

Wenn die Funktion Argumente akzeptiert, muss der Befehl ALTER die Argumenttypen angeben, da Funktionen das Überladen von Namen unterstützen (d. h. zwei Funktionen im selben Schema können denselben Namen haben) und die Argumenttypen zur Identifizierung der Funktion verwendet werden.

API-Integrationsname

Dies ist der Name des API-Integrationsobjekts, das zur Authentifizierung des Aufrufs an den Proxydienst verwendet werden soll.

Weitere Details zu diesem Parameter finden Sie unter CREATE EXTERNAL FUNCTION.

[ HEADERS = ( '<header_1>' = '<value>' [ , '<header_2>' = '<value>' ... ] ) ]

Mit dieser Klausel können Benutzer Schlüsselwert-Metadaten anhängen, die bei jeder Anforderung gesendet werden.

Der Wert muss eine konstante Zeichenfolge sein, kein Ausdruck.

Weitere Details zu diesem Parameter finden Sie unter CREATE EXTERNAL FUNCTION.

CONTEXT_HEADERS (...)

Dies ähnelt headers, lässt jedoch nicht nur konstante Zeichenfolgen zu, sondern bindet auch die Ergebnisse der Snowflake-Kontextfunktion an HTTP-Header.

Jeder Wert muss der Name einer Kontextfunktion sein. Die Namen sollten nicht in Anführungszeichen gesetzt werden.

Weitere Details zu diesem Parameter finden Sie unter CREATE EXTERNAL FUNCTION.

COMPRESSION = <compression_type>

Bei Angabe dieser Klausel wird die JSON-Nutzlast in ein spezifisches Format komprimiert, wenn sie von Snowflake an den Proxydienst gesendet und vom Proxydienst an Snowflake zurückgesendet wird.

Weitere Informationen zu gültigen Werten von <Komprimierungstyp> finden Sie unter CREATE EXTERNAL FUNCTION.

neuer_Name

Beim Umbenennen der Funktion wird der neue Bezeichner für die Funktion angegeben.

Der Bezeichner muss für das Schema, in dem die Funktion erstellt wird, nicht eindeutig sein, da Funktionen durch ihren Namen und ihre Argumenttypen identifiziert und aufgelöst werden. Die Signatur (Name und Datentypen der Parameter) muss jedoch innerhalb des Schemas eindeutig sein.

Der Name muss den Snowflake-Regeln für Bezeichner folgen. Weitere Details dazu finden Sie unter Anforderungen an Bezeichner.

Bemerkung

Wenn Sie den neuen Namen für die externe Funktion angeben, dürfen Sie keine Argumentdatentypen oder Klammern verwenden. Die Funktion wird weiterhin dieselben Argumente wie zuvor verwenden.

Nutzungshinweise

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

  • Es gibt keinen UNSET-Befehl für API_INTEGRATION. Sie können API_INTEGRATION ändern, aber nicht deaktivieren.

Beispiele

Umbenennen der Funktion function1 in function2:

ALTER EXTERNAL FUNCTION IF EXISTS function1(number) RENAME TO function2;

Konvertieren eine reguläre Funktion function2 in eine sichere Funktion:

ALTER EXTERNAL FUNCTION function2(number) SET SECURE;

Umbenennen einer externe Funktion:

ALTER EXTERNAL FUNCTION function3(number) RENAME TO function3b;