ALTER DYNAMIC TABLE

Ändert die Eigenschaften einer dynamischen Tabelle.

Siehe auch:

CREATE DYNAMIC TABLE, DESCRIBE DYNAMIC TABLE, DROP DYNAMIC TABLE, SHOW DYNAMIC TABLES

Unter diesem Thema:

Syntax

ALTER DYNAMIC TABLE [ IF EXISTS ] <name> { SUSPEND | RESUME }

ALTER DYNAMIC TABLE [ IF EXISTS ] <name> RENAME TO <new_name>

ALTER DYNAMIC TABLE [ IF EXISTS ] <name> SWAP WITH <target_dynamic_table_name>

ALTER DYNAMIC TABLE [ IF EXISTS ] <name> REFRESH

ALTER DYNAMIC TABLE [ IF EXISTS ] <name> { clusteringAction }

ALTER DYNAMIC TABLE [ IF EXISTS ] <name> { tableColumnCommentAction }

ALTER DYNAMIC TABLE <name> { SET | UNSET } COMMENT = '<string_literal>'

ALTER DYNAMIC TABLE [ IF EXISTS ] <name> dataGovnPolicyTagAction

ALTER DYNAMIC TABLE [ IF EXISTS ] <name> searchOptimizationAction

ALTER DYNAMIC TABLE [ IF EXISTS ] <name> SET
  [ TARGET_LAG = { '<num> { seconds | minutes | hours | days }'  | DOWNSTREAM } ]
  [ WAREHOUSE = <warehouse_name> ]
  [ DATA_RETENTION_TIME_IN_DAYS = <integer> ]
  [ MAX_DATA_EXTENSION_TIME_IN_DAYS = <integer> ]
  [ DEFAULT_DDL_COLLATION = '<collation_specification>' ]

ALTER DYNAMIC TABLE [ IF EXISTS ] <name> UNSET
  [ DATA_RETENTION_TIME_IN_DAYS ],
  [ MAX_DATA_EXTENSION_TIME_IN_DAYS ],
  [ DEFAULT_DDL_COLLATION ]
Copy

Wobei:

clusteringAction ::=
  {
    CLUSTER BY ( <expr> [ , <expr> , ... ] )
    | { SUSPEND | RESUME } RECLUSTER
    | DROP CLUSTERING KEY
  }
Copy

Weitere Informationen dazu finden Sie unter Gruppierungsschlüssel und geclusterte Tabellen.

tableCommentAction ::=
  {
    ALTER | MODIFY [ ( ]
                           [ COLUMN ] <col1_name> COMMENT '<string>'
                         , [ COLUMN ] <col1_name> UNSET COMMENT
                       [ , ... ]
                   [ ) ]
  }
Copy
dataGovnPolicyTagAction ::=
  {
      ADD ROW ACCESS POLICY <policy_name> ON ( <col_name> [ , ... ] )
    | DROP ROW ACCESS POLICY <policy_name>
    | DROP ROW ACCESS POLICY <policy_name> ,
        ADD ROW ACCESS POLICY <policy_name> ON ( <col_name> [ , ... ] )
    | DROP ALL ROW ACCESS POLICIES
  }
  |
  {
    { ALTER | MODIFY } [ COLUMN ] <col1_name>
        SET MASKING POLICY <policy_name>
          [ USING ( <col1_name> , <cond_col_1> , ... ) ] [ FORCE ]
      | UNSET MASKING POLICY
  }
  |
  { ALTER | MODIFY } [ COLUMN ] <col1_name> SET TAG
      <tag_name> = '<tag_value>' [ , <tag_name> = '<tag_value>' ... ]
      , [ COLUMN ] <col2_name> SET TAG
          <tag_name> = '<tag_value>' [ , <tag_name> = '<tag_value>' ... ]
  |
  { ALTER | MODIFY } [ COLUMN ] <col1_name> UNSET TAG <tag_name> [ , <tag_name> ... ]
                  , [ COLUMN ] <col2_name> UNSET TAG <tag_name> [ , <tag_name> ... ]
  }
  |
  {
      SET TAG <tag_name> = '<tag_value>' [ , <tag_name> = '<tag_value>' ... ]
    | UNSET TAG <tag_name> [ , <tag_name> ... ]
  }
Copy
searchOptimizationAction ::=
  {
    ADD SEARCH OPTIMIZATION [
      ON <search_method_with_target> [ , <search_method_with_target> ... ]
        [ EQUALITY ]
      ]

    | DROP SEARCH OPTIMIZATION [
      ON { <search_method_with_target> | <column_name> | <expression_id> }
        [ EQUALITY ]
        [ , ... ]
      ]

    | SUSPEND SEARCH OPTIMIZATION [
       ON { <search_method_with_target> | <column_name> | <expression_id> }
          [ , ... ]
     ]

    | RESUME SEARCH OPTIMIZATION [
       ON { <search_method_with_target> | <column_name> | <expression_id> }
          [ , ... ]
     ]
  }
Copy

Weitere Details dazu finden Sie unter Suchoptimierungsaktionen (searchOptimizationAction).

Parameter

name

Bezeichner für die zu ändernde dynamische Tabelle.

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.

Weitere Informationen dazu finden Sie unter Anforderungen an Bezeichner.

SUSPEND | RESUME

Gibt die Aktion an, die für die dynamische Tabelle ausgeführt werden soll:

  • SUSPEND setzt die Aktualisierungen der dynamischen Tabelle aus. Wenn die dynamische Tabelle von anderen dynamischen Tabellen verwendet wird, werden diese ebenfalls ausgesetzt.

  • RESUME setzt die Aktualisierungen der dynamischen Tabelle fort. Fortsetzungsoperationen wirken sich kaskadenartig auf alle nachgelagerten dynamischen Tabellen aus, die nicht manuell ausgesetzt wurden.

RENAME TO new_name

Benennt die angegebene dynamische Tabelle mit einem neuen Bezeichner um, der derzeit von keiner anderen dynamischen Tabelle im Schema verwendet wird.

Das Umbenennen einer dynamischen Tabelle erfordert die Berechtigung CREATE DYNAMIC TABLE für das Schema der dynamischen Tabelle.

Sie können die dynamische Tabelle auch in eine andere Datenbank und/oder ein anderes Schema verschieben und dabei optional die dynamische Tabelle umbenennen. Geben Sie dazu einen qualifizierten new_name-Wert an, der den neuen Datenbank- und/oder Schemanamen im Format db_name.schema_name.new_name bzw. schema_name.new_name enthält.

Es gelten die folgenden Einschränkungen:

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

  • Sie können ein Objekt nicht in ein verwaltetes Zugriffsschema verschieben, 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 (Tabelle, Spalte usw.) umbenannt wird, müssen andere Objekte, die darauf verweisen, mit dem neuen Namen aktualisiert werden.

SWAP WITH target_dynamic_table_name

Tauscht zwei dynamische Tabellen in einer einzigen Transaktion aus. Die Rolle, mit der diese Operation ausgeführt wird, muss über die Berechtigung OWNERSHIP für beide dynamischen Tabellen verfügen.

Es gelten die folgenden Einschränkungen:

  • Sie können eine dynamische Tabelle nur mit einer anderen dynamischen Tabelle austauschen.

REFRESH

Legt fest, dass die dynamische Tabelle manuell aktualisiert werden soll.

Sowohl vom Benutzer ausgesetzte als auch automatisch ausgesetzte dynamische Tabellen können manuell aktualisiert werden. Manuell aktualisierte dynamische Tabellen geben MANUAL als Ausgabe für refresh_trigger in der Funktion DYNAMIC_TABLE_REFRESH_HISTORY zurück.

Beachten Sie, dass die Aktualisierung einer dynamischen Tabelle auch alle vorgelagerten dynamischen Tabellen ab demselben Zeitstempel aktualisiert. Weitere Informationen dazu finden Sie unter Warehouse oder Zielverzögerung einer dynamischen Tabelle ändern.

Weitere Informationen zum Aktualisierungsstatus dynamischer Tabellen finden Sie unter DYNAMIC_TABLE_REFRESH_HISTORY.

SET ...

Gibt eine oder mehrere Eigenschaften/Parameter an, die für die Tabelle festgelegt werden sollen (getrennt durch Leerzeichen, Kommas oder Neue-Zeile-Zeichen):

TARGET_LAG = { num { seconds | minutes | hours | days } | DOWNSTREAM }

Gibt die Zielverzögerung für die dynamische Tabelle an:

'num seconds | minutes | hours | days'

Gibt die maximale Zeitspanne an, die der Inhalt der dynamischen Tabelle hinter den Aktualisierungen der Basistabellen zurückbleiben darf.

Beispiel:

  • Wenn die Daten in der dynamischen Tabelle nicht mehr als 5 Minuten zurückbleiben sollen, geben Sie 5 minutes an.

  • Wenn die Daten in der dynamischen Tabelle nicht mehr als 5 Stunden zurückbleiben sollen, geben Sie 5 hours an.

Der Minimumwert ist 1 Minute. Wenn eine dynamische Tabelle A von einer anderen dynamischen Tabelle B abhängt, muss die minimale Verzögerung für A größer oder gleich der Verzögerung für B sein.

DOWNSTREAM

Gibt an, dass die dynamische Tabelle aktualisiert werden soll, wenn eine ihr nachgelagerte dynamische Tabelle aktualisiert wird.

WAREHOUSE = warehouse_name

Gibt den Namen des Warehouses an, das die Computeressourcen für die Aktualisierung der dynamischen Tabelle bereitstellt.

Der Eigentümer der dynamischen Tabelle muss die USAGE-Berechtigung für dieses Warehouse haben.

DATA_RETENTION_TIME_IN_DAYS = integer

Parameter auf Objektebene, der die Aufbewahrungsfrist der dynamischen Tabelle für Time Travel ändert. Weitere Details dazu finden Sie unter Verstehen und Verwenden von Time Travel und Verwenden von temporären und transienten Tabellen.

Eine ausführliche Beschreibung dieses Parameters sowie weitere Informationen zu Objektparametern finden Sie unter Parameter.

Werte:

  • Standardausführung: 0 oder 1

  • Enterprise Edition:

    • 0 auf 90 für permanente dynamische Tabellen

    • 0 oder 1 für transiente dynamische Tabellen

Bemerkung

Ein Wert von 0 deaktiviert Time Travel für die dynamische Tabelle.

MAX_DATA_EXTENSION_TIME_IN_DAYS = integer

Objektparameter, der die maximale Anzahl von Tagen angibt, für die Snowflake die Datenaufbewahrungsfrist verlängern kann, um zu verhindern, dass Streams auf der dynamischen Tabelle veralten.

Eine detaillierte Beschreibung dieses Parameters finden Sie unter MAX_DATA_EXTENSION_TIME_IN_DAYS.

DEFAULT_DDL_COLLATION = 'collation_specification'

Legt eine Standard-Sortierungsspezifikation für alle neuen Spalten fest, die der dynamischen Tabelle hinzugefügt werden.

Durch das Festlegen dieses Parameters ändert sich nicht die Sortierungsspezifikation für vorhandene Spalten.

Weitere Informationen dazu finden Sie unter DEFAULT_DDL_COLLATION.

UNSET ...

Gibt eine oder mehrere Eigenschaften/Parameter an, die für die dynamische Tabelle nicht festgelegt werden sollen, wodurch sie auf ihre Standardwerte zurückgesetzt werden:

  • DATA_RETENTION_TIME_IN_DAYS

  • MAX_DATA_EXTENSION_TIME_IN_DAYS

  • DEFAULT_DDL_COLLATION

Clustering-Aktionen (clusteringAction)

CLUSTER BY ( expr [ , expr , ... ] )

Gibt eine oder mehrere Tabellenspalten oder Spaltenausdrücke als Gruppierungsschlüssel für die Tabelle an (oder ändert sie). Dies sind die Spalten/Ausdrücke, für die das Clustering mit Automatic Clustering verwaltet wird. Bevor Sie Gruppierungsschlüssel für eine dynamische Tabelle angeben, sollten Sie sich erst mit Mikropartitionen vertraut machen. Weitere Informationen dazu finden Sie unter Grundlegendes zu Tabellenstrukturen in Snowflake.

Bei der Verwendung von Gruppierungsschlüsseln mit dynamischen Tabellen müssen Sie Folgendes beachten:

  • Spaltendefinitionen sind erforderlich und müssen in der Anweisung ausdrücklich angegeben werden.

  • Gruppierungsschlüssel sind nicht für alle Tabellen vorgesehen oder empfehlenswert. Sie eignen sich vorrangig für sehr große Tabellen (z. B. im Multi-Terabyte-Bereich).

SUSPEND | RESUME RECLUSTER

Aktiviert oder deaktiviert Automatic Clustering für die dynamische Tabelle.

DROP CLUSTERING KEY

Löscht den Gruppierungsschlüssel für die dynamische Tabelle.

Weitere Informationen zu Gruppierungsschlüsseln und Reclustering finden Sie unter Grundlegendes zu Tabellenstrukturen in Snowflake.

Tabellenkommentaraktionen (tableCommentAction)

ALTER | MODIFY [ ( ] ` . [ COLUMN ] <col1_name> COMMENT '<string>' . , [ COLUMN ] <col1_name> UNSET COMMENT . [ , ... ] . [ ) ]

Ändert einen Kommentar oder überschreibt den vorhandenen Kommentar für eine Spalte in der dynamischen Tabelle.

SET | UNSET COMMENT = '<string_literal>'

Fügt einen Kommentar hinzu oder überschreibt den vorhandenen Kommentar für die dynamische Tabelle.

Data-Governance-Richtlinie und Tag-Aktionen (dataGovnPolicyTagAction)

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.

policy_name

Bezeichner für die Richtlinie. Dieser muss für Ihr Konto eindeutig sein.

ADD ROW ACCESS POLICY policy_name ON (col_name [ , ... ])

Fügt der dynamischen Tabelle eine Zeilenzugriffsrichtlinie hinzu.

Es muss mindestens ein Spaltenname angegeben werden. Zusätzliche Spalten können mit einem Komma zwischen den einzelnen Spaltennamen angegeben werden.

DROP ROW ACCESS POLICY policy_name

Löscht eine Zeilenzugriffsrichtlinie aus der dynamischen Tabelle.

DROP ROW ACCESS POLICY policy_name, ADD ROW ACCESS POLICY policy_name ON ( col_name [ , ... ] )

Löscht mit nur einer einzigen SQL-Anweisung die für die dynamische Tabelle festgelegte Zeilenzugriffsrichtlinie und fügt eine Zeilenzugriffsrichtlinie zu derselben dynamischen Tabelle hinzu.

DROP ALL ROW ACCESS POLICIES

Löscht alle Zuordnungen von Zeilenzugriffsrichtlinien aus der dynamischen Tabelle.

{ ALTER | MODIFY } [ COLUMN ] ...
USING ( col_name , cond_col_1 ... )

Gibt die Argumente an, die an die bedingte Maskierungsrichtlinie übergeben werden sollen.

Die erste Spalte in der Liste gibt die Daten an, die aufgrund der Richtlinienbedingungen maskiert oder mit Token versehen werden sollen. muss mit der Spalte übereinstimmen, auf die die Maskierungsrichtlinie angewendet wird.

Die zusätzlichen Spalten geben an, welche Daten zur Maskierung oder Tokenisierung in jeder Zeile des Abfrageergebnisses ausgewertet werden sollen, wenn die Auswahl aus der ersten Spalte erfolgt.

Wenn die USING-Klausel weggelassen wird, behandelt Snowflake die bedingte Maskierungsrichtlinie wie eine normale Maskierungsrichtlinie.

FORCE

Ersetzt mit nur einer Anweisung eine Maskierungs- oder Projektionsrichtlinie, die derzeit für eine Spalte festgelegt ist, durch eine andere Richtlinie.

Beachten Sie, dass die Verwendung des Schlüsselworts FORCE mit einer Maskierungsrichtlinie voraussetzt, dass der Datentyp der Richtlinie in der ALTER DYNAMICTABLE-Anweisung (d. h. STRING) mit dem Datentyp der aktuell für die Spalte festgelegten Maskierungsrichtlinie (d. h. STRING) übereinstimmt.

Wenn für die Spalte derzeit keine Maskierungsrichtlinie festgelegt ist, hat die Angabe dieses Schlüsselworts keine Auswirkungen.

Weitere Details dazu finden Sie unter Maskierungsrichtlinie auf einer Spalte ersetzen oder Projektionsrichtlinie ersetzen.

Suchoptimierungsaktionen (searchOptimizationAction)

ADD SEARCH OPTIMIZATION

Fügt die Suchoptimierung für die gesamte dynamische Tabelle oder, wenn Sie die optionale Klausel ON angeben, für bestimmte Spalten hinzu.

Die Wartung der Suchoptimierung kann teuer werden, insbesondere wenn sich die Daten in der Tabelle häufig ändern. Weitere Informationen dazu finden Sie unter Abschätzen und Verwalten der Kosten für die Suchoptimierung.

ON search_method_with_target [, search_method_with_target ... ]

Gibt an, dass Sie die Suchoptimierung für bestimmte Spalten oder VARIANT-Felder (und nicht für die gesamte dynamische Tabelle) konfigurieren möchten.

Verwenden Sie für search_method_with_target einen Ausdruck mit der folgenden Syntax:

<search_method>(<target> [, ...])
Copy

Wobei:

  • search_method gibt eine der folgenden Methoden an, die Abfragen für einen bestimmten Prädikatstyp optimieren:

    • GEO: Prädikate, die GEOGRAPHY-Typen verwenden

    • SUBSTRING: Prädikate, die mit Teilzeichenfolgen und regulären Ausdrücken übereinstimmen (z. B.. [ NOT ] LIKE, [ NOT ] ILIKE, [ NOT ] RLIKE, REGEXP_LIKE usw.)

    • EQUALITY: Gleichheits- und IN-Prädikate

  • target gibt die Spalte, das VARIANT-Feld oder ein Sternchen (*) an.

    Je nach dem Wert von search_method können Sie eine Spalte oder ein VARIANT-Feld eines der folgenden Typen angeben:

    • GEO: Spalten vom Datentyp GEOGRAPHY

    • SUBSTRING: Spalten mit Zeichenfolgen- oder VARIANT-Datentypen, einschließlich Pfaden zu Feldern in VARIANTs. Geben Sie Pfade zu Feldern an, wie unter EQUALITY beschrieben. Die Suche nach verschachtelten Feldern wird auf die gleiche Weise verbessert.

    • EQUALITY: Spalten mit numerischen, binären, Zeichenfolgen- und VARIANT-Datentypen, einschließlich Pfade zu Feldern in VARIANT-Spalten.

      Um ein VARIANT-Feld anzugeben, verwenden Sie die Punkt- oder Klammerschreibweise. Beispiel:

      • my_column:my_field_name.my_nested_field_name

      • my_column['my_field_name']['my_nested_field_name']

      Sie können auch einen durch Doppelpunkte getrennten Pfad zum Feld verwenden. Beispiel:

      • my_column:my_field_name:my_nested_field_name

      Wenn Sie ein VARIANT-Feld angeben, gilt die Konfiguration für alle verschachtelten Felder unter diesem Feld.

      So geben Sie beispielsweise ON EQUALITY(src:a.b) an:

      • Diese Konfiguration kann Abfragen verbessern on src:a.b und auf allen verschachtelten Feldern (z. B. src:a.b.c, src:a.b.c.d usw.).

      • Diese Konfiguration betrifft nur Abfragen, die das Präfix src:a.b verwenden (z. B. src:a, src:z usw.).

Um alle zutreffenden Spalten in der Tabelle als Ziele anzugeben, verwenden Sie das Sternchen (*).

Beachten Sie, dass Sie für eine gegebene Suchmethode nicht sowohl Sternchen als auch spezifische Spaltennamen angeben können. Sie können jedoch Sternchen bei verschiedenen Suchmethoden angeben.

Sie können zum Beispiel die folgenden Ausdrücke angeben:

ON SUBSTRING(*)
ON EQUALITY(*), SUBSTRING(*), GEO(*)
Copy

Sie können die folgenden Ausdrücke nicht angeben:

ON EQUALITY(*, c1)
ON EQUALITY(c1, *)
ON EQUALITY(v1:path, *)
ON EQUALITY(c1), EQUALITY(*)
Copy

Wenn Sie mehr als eine Suchmethode für ein Ziel angeben möchten, trennen Sie jede nachfolgende Methode und jedes Ziel durch ein Komma:

ALTER DYNAMIC TABLE product ADD SEARCH OPTIMIZATION ON EQUALITY(c1), EQUALITY(c2, c3);
Copy

Wenn Sie den Befehl ALTER DYNAMICTABLE … ADD SEARCH OPTIMIZATION ON … mehrfach für dieselbe Tabelle ausführen, wird jeder nachfolgende Befehl zu der bestehenden Konfiguration der Tabelle hinzugefügt. Nehmen Sie zum Beispiel an, dass Sie die folgenden Befehle ausführen:

ALTER DYNAMIC TABLE product ADD SEARCH OPTIMIZATION ON EQUALITY(c1, c2);
ALTER DYNAMIC TABLE product ADD SEARCH OPTIMIZATION ON EQUALITY(c3, c4);
Copy

Dadurch werden der Konfiguration für die Tabelle Gleichheitsprädikate für die Spalten c1, c2, c3 und c4 hinzugefügt. Dies ist gleichbedeutend mit der Ausführung des Befehls:

ALTER DYNAMIC TABLE product ADD SEARCH OPTIMIZATION ON EQUALITY(c1, c2, c3, c4);
Copy

Weitere Beispiele finden Sie unter Aktivieren der Suchoptimierung für bestimmte Spalten.

DROP SEARCH OPTIMIZATION

Entfernt die Suchoptimierung von der gesamten dynamischen Tabelle oder bei Angabe der optionalen ON-Klausel von bestimmten Spalten.

Es gelten die folgenden Einschränkungen:

  • Wenn eine dynamische Tabelle die Suchoptimierungseigenschaft hat, bleibt die Suchoptimierungseigenschaft erhalten, wenn Sie die dynamische Tabelle löschen und entfernen.

  • Das Entfernen der Suchoptimierungseigenschaft aus einer dynamischen Tabelle und das anschließende Hinzufügen verursachen die gleichen Kosten wie das erstmalige Hinzufügen.

ON search_method_with_target | column_name | expression_id [, ... ]

Gibt an, dass Sie die Suchoptimierungskonfiguration von bestimmte Spalten oder VARIANT-Feldern (und nicht von der gesamten dynamischen Tabelle) entfernen möchten.

Um die zu löschende Spaltenkonfiguration zu identifizieren, verwenden Sie eine der folgenden Optionen:

  • Geben Sie für search_method_with_target eine Methode zur Optimierung von Abfragen für ein oder mehrere bestimmte Ziele an, die Spalten oder VARIANT-Felder sein können. Verwenden Sie die oben beschriebene Syntax.

  • Geben Sie für column_name den Namen der für die Suchoptimierung konfigurierten Spalte an. Durch die Angabe des Spaltennamens werden alle Ausdrücke für diese Spalte gelöscht, einschließlich der Ausdrücke, die VARIANT-Felder in der Spalte verwenden.

  • Geben Sie für expression_id die ID eines Ausdrucks an, der in der Ausgabe des Befehls DESCRIBE SEARCH OPTIMIZATION aufgeführt ist.

Sie können beliebige Kombinationen von Suchmethoden mit Zielen, Spaltennamen und Ausdruck-IDs angeben und dabei ein Komma zwischen den Elementen verwenden.

Weitere Beispiele finden Sie unter Löschen der Suchoptimierung für bestimmte Spalten.

Nutzungshinweise

  • Um eine dynamische Tabelle zu ändern, müssen Sie eine Rolle verwenden, die über die OPERATE-Berechtigung für die dynamische Tabelle verfügt. Allgemeine Informationen dazu finden Sie unter Berechtigung zum Anzeigen der Metadaten einer dynamischen Tabelle.

  • Sie können keine Änderungen an der Maskierungsrichtlinie vornehmen, nachdem Sie die dynamische Tabelle erstellt haben.

  • Wenn Sie eine bestehende dynamische Tabelle aktualisieren möchten und dazu deren aktuelle Definition anzeigen müssen, rufen Sie die Funktion GET_DDL auf.

  • Sie können die Datenmetrikfunktionen mit dynamischen Tabellen verwenden, indem Sie den Befehl ALTER TABLE ausführen. Weitere Informationen dazu finden Sie unter Verwenden von Datenmetrikfunktionen.

  • Sie können IDENTIFIER() nicht verwenden, um den Namen der zu ändernden dynamischen Tabelle anzugeben. Zum Beispiel wird die folgende Anweisung nicht unterstützt:

    ALTER DYNAMIC TABLE IDENTIFIER(product) SUSPEND;
    
    Copy
  • Hinweis zu 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

Ändern der Zielverzögerungszeit einer dynamischen Tabelle namens product auf 1 Stunde:

ALTER DYNAMIC TABLE product SET
  TARGET_LAG = '1 hour';
Copy

Angeben der nachgelagerte Zielverzögerung für eine dynamische Tabelle namens product:

ALTER DYNAMIC TABLE product SET TARGET_LAG = DOWNSTREAM;
Copy

Anhalten der dynamischen Tabelle product:

ALTER DYNAMIC TABLE product SUSPEND;
Copy

Fortsetzen der dynamischen Tabelle product:

ALTER DYNAMIC TABLE product RESUME;
Copy

Umbenennen der dynamischen Tabelle product:

ALTER DYNAMIC TABLE product RENAME TO updated_product;
Copy

Austauschen der dynamischen Tabelle product mit new-product:

ALTER DYNAMIC TABLE product SWAP WITH new_product;
Copy

Ändern des Gruppierungsschlüssels einer Tabelle:

ALTER DYNAMIC TABLE product CLUSTER BY (date);
Copy

Entfernen des Clusterings aus einer Tabelle:

ALTER DYNAMIC TABLE product DROP CLUSTERING KEY;
Copy