SnowConvert AI - Oracle - Create Table¶
In this section you could find information about TABLES, their syntax and current conversions.
Description¶
Dans Oracle, l’instruction CREATE TABLE est utilisée pour créer l’un des types de tables suivants : une table relationnelle qui est la structure de base pour contenir les données de l’utilisateur, ou une table objet qui est une table qui utilise un type d’objet pour la définition d’une colonne. (Documentation Oracle)
Syntaxe Oracle
Syntaxe Snowflake
Note
Pour plus d’informations sur Snowflake, consultez la documentation suivante.
Modèles d’échantillons de sources¶
2.1. Propriétés physiques et de table¶
Oracle¶
Snowflake¶
Note
Les propriétés des tables sont supprimées car elles ne sont pas requises après la migration dans Snowflake.
2.2. Contraintes et états de contrainte¶
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¶
Note
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
Ceux-ci feront également l’objet d’un commentaire.
Note
L’état de la contrainte ENABLE sera complètement supprimé du code de sortie au cours du processus de conversion. Dans le cas de l’état DISABLE, il sera également supprimé en même temps que la contrainte NOT NULL.
Oracle¶
Snowflake¶
2.3. Clé étrangère¶
S’il existe une table avec une colonne NUMBER sans précision ni échelle, et une autre table avec une colonne NUMBER(*, 0) qui fait référence à la colonne NUMBER mentionnée précédemment, nous commenterons cette clé étrangère.
Oracle¶
Snowflake¶
2.4. Colonne virtuelle¶
Oracle¶
Snowflake¶
2.5. Colonne d’identité¶
Pour les colonnes d’identité, une séquence est créée et attribuée à la colonne.
Oracle¶
Snowflake¶
2.6. Déclaration de colonne CLOB et BLOB¶
Les colonnes déclarées comme CLOB ou BLOB seront remplacées par VARCHAR.
Oracle¶
Snowflake¶
2.7. Nom de contrainte¶
Avertissement
Le nom de contrainte est supprimé du code car il n’est pas applicable dans Snowflake.
Oracle¶
Snowflake¶
2.8. Colonnes par défaut avec les heures¶
Les colonnes déclarées comme étant des types de date seront converties pour correspondre au type de date spécifique.
Oracle¶
Snowflake¶
2.10 AS SubQuery¶
Les propriétés et clauses suivantes ne sont pas prises en charge lors de la création d’une table via AS SubQuery dans Snowflake.
Oracle¶
Snowflake¶
Problèmes connus¶
Certaines propriétés des tables peuvent être adaptées ou faire l’objet de commentaires parce que le comportement dans Snowflake est différent.