SnowConvert AI – Oracle – Create Table¶
In this section you could find information about TABLES, their syntax and current conversions.
Beschreibung¶
In Oracle wird die CREATE TABLE-Anweisung verwendet, um eine der folgenden Arten von Tabellen zu erstellen: eine relationale Tabelle, die die Grundstruktur für die Speicherung von Benutzerdaten darstellt, oder eine Objekttabelle, die einen Objekttyp für eine Spaltendefinition verwendet. (Oracle-Dokumentation)
Oracle-Syntax
Snowflake-Syntax
Bemerkung
Weitere Informationen zu Snowflake finden Sie in der folgenden Dokumentation.
Beispielhafte Quellcode-Muster¶
2.1. Physische und tabellarische Eigenschaften¶
Oracle¶
Snowflake¶
Bemerkung
Tabelleneigenschaften werden entfernt, da sie nach der Migration in Snowflake nicht mehr benötigt werden.
2.2. Einschränkungen und Einschränkungsstatus¶
CHECK Constraints¶
Snowflake supports CHECK constraints with deterministic, scalar expressions. Oracle-specific state clauses (DEFERRABLE, RELY, INITIALLY, ENABLE, DISABLE) are removed during conversion with SSC-FDM-0046 annotations. CHECK constraints with unsupported expressions (UDFs, non-deterministic functions) are flagged with SSC-EWI-0116.
Supported:
Basic CHECK constraints with scalar, deterministic expressions
Column-level and table-level CHECK constraints
Named and unnamed constraints
Removed automatically (with SSC-FDM-0046):
[NOT] DEFERRABLE- Snowflake always validates immediately[NOT] RELY- Optimizer hint not supportedINITIALLY IMMEDIATE/INITIALLY DEFERREDENABLE/DISABLE- Snowflake constraints are always enforced
Unsupported (flagged with SSC-EWI-0116):
User-defined functions (UDFs)
Non-deterministic built-in functions
Context-dependent functions
Subqueries
Example 1: Basic CHECK Constraint¶
Oracle¶
Snowflake¶
Example 2: CHECK Constraint with NOT DEFERRABLE (Removed)¶
The NOT DEFERRABLE clause is removed with SSC-FDM-0046 because Snowflake always validates CHECK constraints immediately.
Oracle¶
Snowflake¶
Example 3: CHECK Constraint with RELY Clause (Removed)¶
Oracle¶
Snowflake¶
Example 4: CHECK Constraint with Unresolved Function (Unsupported)¶
When a CHECK constraint references a function that cannot be resolved, it is flagged with SSC-EWI-0116 as a user-defined function.
Oracle¶
Snowflake¶
Bemerkung
The USING INDEX constraint clause is entirely removed from the output code during the conversion.
NOT NULL Constraint States¶
In case you have any constraint state after a NOT NULL constraint as follows:
RELYNO RELYRELY ENABLERELY DISABLEVALIDATENOVALIDATE
Diese werden ebenfalls auskommentiert.
Bemerkung
Der ENABLE-Status wird bei der Konvertierung vollständig aus dem Ausgabecode entfernt. Im Falle des DISABLE-Status wird er gleichzeitig mit der Einschränkung NOT NULL entfernt.
Oracle¶
Snowflake¶
2.3. Fremdschlüssel¶
Wenn es eine Tabelle mit einer NUMBER-Spalte ohne Genauigkeit oder Skalierung gibt und eine andere Tabelle mit einer NUMBER(*, 0)-Spalte, die auf die zuvor erwähnte NUMBER-Spalte verweist, kommentieren wir diesen Fremdschlüssel aus.
Oracle¶
Snowflake¶
2.4. Virtuelle Spalte¶
Oracle¶
Snowflake¶
2.5. Identitätsspalte¶
Für Identitätsspalten wird eine Sequenz erstellt und der Spalte zugewiesen.
Oracle¶
Snowflake¶
2.6. CLOB- und BLOB-Spaltendeklaration¶
Spalten, die als CLOB oder BLOB deklariert sind, werden in VARCHAR geändert.
Oracle¶
Snowflake¶
2.7. Name der Einschränkung¶
Warnung
Der Name der Einschränkung wird aus dem Code entfernt, da er in Snowflake nicht anwendbar ist.
Oracle¶
Snowflake¶
2.8. Standardspalten mit Zeiten¶
Die Spalten, die als Datumstypen deklariert sind, werden so umgewandelt, dass sie mit dem spezifischen Datumstyp übereinstimmen.
Oracle¶
Snowflake¶
2.10 ASSubQuery¶
Die folgenden Eigenschaften und Klauseln werden bei der Erstellung einer Tabelle über AS SubQuery in Snowflake nicht unterstützt.
Oracle¶
Snowflake¶
Bekannte Probleme¶
Einige Eigenschaften in den Tabellen müssen möglicherweise angepasst oder kommentiert werden, weil die Verhaltensweise in Snowflake anders ist.