ALTER FUNCTION (DMF)

Ändert die Eigenschaften einer vorhandenen Datenmetrikfunktion (DMF).

Um weitere Änderungen an einer DMF vorzunehmen, müssen Sie die Funktion mit DROP FUNCTION löschen und die DMF neu erstellen.

Siehe auch:

Referenz zu DMF-Befehlen

Syntax

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

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

ALTER FUNCTION [ IF EXISTS ] <name> ( TABLE ( <col_data_type> [ , ... ] ) )
  UNSET SECURE

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

ALTER FUNCTION [ IF EXISTS ] <name> ( TABLE ( <col_data_type> [ , ... ] ) )
  UNSET COMMENT

ALTER FUNCTION [ IF EXISTS ] <name> ( TABLE ( <col_data_type> [ , ... ] ) )
  SET TAG <tag_name> = '<tag_value>' [ , <tag_name> = '<tag_value>' ... ]

ALTER FUNCTION [ IF EXISTS ] <name> ( TABLE ( <col_data_type> [ , ... ] ) )
  UNSET TAG <tag_name> [ , <tag_name> ... ]
Copy

Parameter

name

Gibt den Bezeichner für die zu ändernde DMF 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.

Weitere Informationen dazu finden Sie unter Anforderungen an Bezeichner.

TABLE( col_data_type [ , ... ] )

Gibt den Datentyp der Argumente (Spalten) für die DMF an. Die Argumenttypen sind notwendig, weil DMFs das Überladen von Namen unterstützen, wobei zwei DMFs in demselben Schema denselben Namen haben können. Die Argument-Datentypen werden verwendet, um die DMF zu identifizieren, die Sie ändern möchten.

RENAME TO new_name

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

Weitere Informationen dazu finden Sie unter Anforderungen an Bezeichner.

Bemerkung

Wenn Sie den neuen Namen für die UDF angeben, verwenden Sie keine Argumentdatentypen oder Klammern, sondern geben Sie nur den neuen Namen an.

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 Format db_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 DMF festgelegt werden sollen:

SECURE

Gibt an, ob eine Funktion sicher ist. Weitere Informationen dazu finden Sie unter Schutz sensibler Informationen mit sicheren UDFs und gespeicherten Prozeduren.

COMMENT = 'string_literal'

Fügt einen Kommentar hinzu oder überschreibt den vorhandenen Kommentar für die Funktion. Der von Ihnen angegebene Wert wird in der Spalte DESCRIPTION der Ausgabe SHOW FUNCTIONS und SHOW USER FUNCTIONS 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 Funktion nicht gesetzt werden sollen, wodurch sie auf die Standardwerte zurückgesetzt werden.

  • SECURE

  • COMMENT

  • TAG tag_name [ , tag_name ... ]

Anforderungen an die Zugriffssteuerung

Eine Rolle, die zur Ausführung dieses SQL-Befehls verwendet wird, muss mindestens die folgenden Berechtigungen haben:

Berechtigung

Objekt

Anmerkungen

OWNERSHIP

Datenmetrikfunktion

APPLY

Tag

Ermöglicht das Setzen eines Tags auf eine DMF.

Beachten Sie, dass für die Bearbeitung eines Objekts in einem Schema auch die Berechtigung USAGE für die übergeordnete Datenbank und das Schema erforderlich ist.

Eine Anleitung zum Erstellen einer kundenspezifischen Rolle mit einer bestimmten Gruppe von Berechtigungen finden Sie unter Erstellen von kundenspezifischen Rollen.

Allgemeine Informationen zu Rollen und Berechtigungen zur Durchführung von SQL-Aktionen auf sicherungsfähigen Objekten finden Sie unter Übersicht zur Zugriffssteuerung.

Nutzungshinweise

  • Wenn Sie eine bestehende Datenmetrikfunktion aktualisieren möchten und dazu die aktuelle Definition der Richtlinie anzeigen müssen, führen Sie den Befehl DESCRIBE FUNCTION (DMF) aus. oder rufen Sie die Funktion GET_DDL auf.

  • 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.

Beispiel

Eine DMF zu einer sicheren DMF machen:

ALTER FUNCTION governance.dmfs.count_positive_numbers(
 TABLE(
   NUMBER,
   NUMBER,
   NUMBER
))
SET SECURE;
Copy