SnowConvert AI Vertica – CREATE TABLE¶
Beschreibung¶
Erstellt eine Tabelle im logischen Schema. (Vertica SQL-Sprachreferenz – CREATE TABLE).
Warnung
Diese Syntax wird in Snowflake teilweise unterstützt. Übersetzung für diese Klauseln ausstehend:
Grammatikalische Syntax¶
Optionen für Tabellen¶
ORDER BY¶
In Vertica gibt diese ORDER BY-Klausel an, wie Daten innerhalb einer Superprojektion, einer optimierten Speicherstruktur für eine Tabelle, physisch sortiert werden. Diese explizite physische Reihenfolge bei der Tabellenerstellung wird in Snowflake nicht direkt unterstützt. Weitere Informationen dazu finden Sie unter SSC-EWI-VT0002..
Beispielquelle¶
Vertica¶
Snowflake¶
Projektionsklauseln¶
Die Projektionen von Vertica sind ein Mechanismus, um die physische Sortierreihenfolge von Daten auf der Festplatte zu definieren und aufrechtzuerhalten und dadurch die Abfrageleistung für bestimmte Zugriffsmuster zu optimieren. Snowflake hingegen verwendet eine grundlegende andere Speicher- und Optimierungsstrategie. Daten in Snowflake werden automatisch in unveränderliche Mikropartitionen unterteilt, die dann vom Clouddienst organisiert und verwaltet werden.
Auch wenn innerhalb dieser Mikropartitionen aufgrund von Einfügungen oder der Anwendung von Gruppierungsschlüsseln eine inhärente Ordnung bestehen mag, sind der Abfrageoptimierer von Snowflake und seine zugrunde liegende Architektur so konzipiert, dass sie diese Mikropartitionen während der Abfrageausführung effizient bereinigen, unabhängig von einer vordefinierten globalen Sortierreihenfolge. Dieser Ansatz, kombiniert mit automatischem Caching und einem spaltenbasierten Speicherformat, ermöglicht es Snowflake, eine hohe Leistung zu erzielen, ohne dass Benutzende physische Datenstrukturen wie die Projektionen von Vertica manuell definieren und verwalten müssen, wodurch die Datenverwaltung und die Optimierung für eine größere Bandbreite von Abfragemustern ohne explizite physische Sortierungsdefinitionen vereinfacht wird.
Aus diesen Gründen sind die folgenden Klauseln in Snowflake nicht mehr erforderlich und werden aus dem ursprünglichen Code entfernt:
Klausel für geerbte Schemaberechtigungen¶
INCLUDE SCHEMA PRIVILEGES ist ein Vertica-spezifisches Feature, das regelt, wie Berechtigungen vererbt werden (in diesem Fall möglicherweise von der Schemaebene). Snowflake hat kein direktes Äquivalent für diese Klausel in seiner CREATE TABLE-Syntax. Berechtigungen in Snowflake werden explizit über GRANT-Anweisungen verwaltet.
Warnung
Diese Syntax wird in Snowflake nicht unterstützt.
Beispielquelle¶
Vertica¶
Snowflake¶
Einschränkungen¶
IDENTITY - AUTO_INCREMENT¶
Erstellt eine Tabellenspalte, deren Werte automatisch von der Datenbank generiert und von dieser verwaltet werden. Werte in dieser Spalte können Sie nicht ändern oder laden. Sie können diese Einschränkung nur für eine Tabellenspalte festlegen.
Success
Diese Syntax wird in Snowflake vollständig unterstützt.
Beispielquelle¶
Vertica¶
Snowflake¶
CHECK-Einschränkung¶
The CHECK clause in Vertica requires new or updated rows to satisfy a Boolean expression. Snowflake supports CHECK constraints with deterministic, scalar expressions. SnowConvert migrates valid CHECK constraints directly to Snowflake and flags unsupported expressions (user-defined functions, non-deterministic functions) with SSC-EWI-0116.
Vertica-specific constraint options (ENABLED, DISABLED) are handled as follows:
ENABLEDis converted to Snowflake’sENABLEDISABLEDon CHECK constraints is removed with an FDM annotation
Warnung
This syntax is partially supported in Snowflake. CHECK constraints with user-defined functions or non-deterministic functions are not supported.
Sample Source Patterns¶
Example 1: Valid CHECK Constraint (Pass-through)¶
Vertica¶
Snowflake¶
Example 2: ENABLED/DISABLED Options¶
Vertica¶
Snowflake¶
Example 3: CHECK Constraint with User-Defined Function¶
Vertica¶
Snowflake¶
DEFAULT-Einschränkung¶
Warnung
Diese Syntax wird in Snowflake teilweise unterstützt.
Die grundlegenden DEFAULT-Klausel von Vertica wird vollständig unterstützt und direkt in Snowflake übersetzt. Für Verticas DEFAULT USING-Klausel ist die Übersetzung jedoch teilweise. Snowflake wendet den DEFAULT-Wert korrekt an, wenn neue Zeilen eingefügt werden, aber die Fähigkeit zur verzögerten Aktualisierung durch den USING-Teil hat kein direktes Äquivalent und einige Ausdrücke werden in Snowflake möglicherweise nicht unterstützt. Daher wird eine Warnung hinzugefügt, um auf diesen Funktionsunterschied aufmerksam zu machen.
Beispielquelle¶
Vertica¶
Snowflake¶
PRIMARY KEY – UNIQUE – FOREIGN KEY¶
SnowConvert AI behält die Einschränkungsdefinitionen bei; in Snowflake werden diese Eigenschaften jedoch bereitgestellt, um die Migration von anderen Datenbanken zu erleichtern. Sie werden nicht von Snowflake durchgesetzt oder verwaltet. Das bedeutet, dass die Standardwerte für diese Eigenschaften geändert werden können, aber das Ändern der Standardwerte führt dazu, dass Snowflake die Einschränkung nicht erstellt.
Warnung
Diese Syntax wird in Snowflake teilweise unterstützt.
Beispielquelle¶
Vertica¶
Snowflake¶
CREATE TABLE AS¶
Beschreibung¶
Erstellt und lädt eine Tabelle aus den Ergebnissen einer Abfrage. (Vertica SQL-Sprachreferenz – CREATE TABLE).
Warnung
Diese Syntax wird in Snowflake teilweise unterstützt. Übersetzung für die folgenden Klauseln ausstehend:
Grammatikalische Syntax¶
Optionen für Tabellen¶
Segmentierungsklausel¶
Diese Syntax ist in Snowflake nicht erforderlich und wird aus dem ursprünglichen Code entfernt. Weitere Informationen finden Sie unter Projektionsklauseln.
Bemerkung
Diese Syntax ist in Snowflake nicht erforderlich.
Klausel für geerbte Schemaberechtigungen¶
INCLUDE SCHEMA PRIVILEGES ist ein Vertica-spezifisches Feature, das regelt, wie Berechtigungen vererbt werden (in diesem Fall möglicherweise von der Schemaebene). Snowflake hat kein direktes Äquivalent für diese Klausel in seiner CREATE TABLE-Syntax. Weitere Informationen dazu finden Sie unter Klausel mit vererbten Schemaberechtigungen.
Warnung
Diese Syntax wird in Snowflake nicht unterstützt.
Zugehörige EWIs¶
SSC-EWI-VT0001: Die Klausel für geerbte Berechtigungen wird in Snowflake nicht unterstützt.
CREATE TABLE LIKE¶
Beschreibung¶
Erstellt die Tabelle durch Replikation einer bestehenden Tabelle. (Vertica SQL-Sprachreferenz – CREATE TABLE).
Warnung
Diese Syntax wird in Snowflake teilweise unterstützt. Übersetzung für folgende Klausel ausstehend:
Grammatikalische Syntax¶
Optionen für Tabellen¶
Projektionen¶
Diese Syntax ist in Snowflake nicht erforderlich und wird aus dem ursprünglichen Code entfernt. Weitere Informationen finden Sie unter Projektionsklauseln.
Warnung
Diese Syntax ist in Snowflake nicht erforderlich.
Klausel für geerbte Schemaberechtigungen¶
INCLUDE SCHEMA PRIVILEGES ist ein Vertica-spezifisches Feature, das regelt, wie Berechtigungen vererbt werden (in diesem Fall möglicherweise von der Schemaebene). Snowflake hat kein direktes Äquivalent für diese Klausel in seiner CREATE TABLE-Syntax. Weitere Informationen dazu finden Sie unter Klausel mit vererbten Schemaberechtigungen.
Warnung
Diese Syntax wird in Snowflake nicht unterstützt.
Zugehörige EWIs¶
SSC-EWI-VT0001: Die Klausel für geerbte Berechtigungen wird in Snowflake nicht unterstützt.