Section courante

A propos

Section administrative du site

CREATE TABLE

Créer une table
Oracle Database SQL  

Syntaxe

CREATE [GLOBAL TEMPORARY] TABLE [schema.]table (
      column datatype [DEFAULT expr] [column_constraint(s)[,…]] [,column datatype [,…]] )
         [table_constraint [,…]]
           [table_ref_constraint [,…]]
              [ON COMMIT {DELETE|PRESERVE} ROWS]
                 [          PCTFREE int
            PCTUSED int
            INITTRANS int
          MAXTRANS int
            STORAGE storage_clause
            TABLESPACE tablespace
         [LOGGING|NOLOGGING]
         ]  
         [COMPRESS int|NOCOMPRESS]
                [LOB_storage_clause][varray_clause][
                   NESTED TABLE {nested_item | COLUMN_VALUE}
              [ [ELEMENT] IS OF TYPE (ONLY type) ]] |  [ [NOT] SUBSTITUTABLE AT ALL LEVELS ]] 
                   STORE AS storage_table 
                   [RETURN AS {LOCATOR|VALUE} ]
        ] [
           [XMLTYPE [COLUMN] column [STORE AS OBJECT RELATIONAL] ]
                   [[XMLSCHEMA xmlschema_URL] ELEMENT {element |xmlschema_URL#element}]
                   [XMLTYPE [COLUMN] column [STORE AS CLOB LOB_Segname (LOB_Params)]]
                   [[XMLSCHEMA xmlschema_URL] ELEMENT {element |xmlschema_URL#element}]
                   [XMLTYPE [COLUMN] column [STORE AS CLOB LOB_Params] ]
           [[XMLSCHEMA xmlschema_URL] ELEMENT {element |xmlschema_URL#element}]
        ]
                    Partitioning_clause
                       [[NO]CACHE] [[NO]ROWDEPENDENCIES] [[NO]MONITORING] [PARALLEL parallel_clause]
                          [ENABLE enable_clause | DISABLE disable_clause]
                             {ENABLE|DISABLE} ROW MOVEMENT
                                [AS subquery]
CREATE [GLOBAL TEMPORARY] TABLE [schema.]table (
      column datatype [DEFAULT expr] [column_constraint(s)[,…]] [,column datatype [,…]] )
         [table_constraint [,…]]
           [table_ref_constraint [,…]]
              [ON COMMIT {DELETE|PRESERVE} ROWS]
                 CLUSTER cluster_name (col1col2,... )
                [LOB_storage_clause][varray_clause][
                   NESTED TABLE {nested_item | COLUMN_VALUE}
                   [ [ELEMENT] IS OF TYPE (ONLY type) ]] |  [ [NOT] SUBSTITUTABLE AT ALL LEVELS ]] 
                   STORE AS storage_table 
                   [RETURN AS {LOCATOR|VALUE} ]
        ] [
                  [XMLTYPE [COLUMN] column [STORE AS OBJECT RELATIONAL] ]
                  [[XMLSCHEMA xmlschema_URL] ELEMENT {element |xmlschema_URL#element}]
                  [XMLTYPE [COLUMN] column [STORE AS CLOB LOB_Segname (LOB_Params)]]
                  [[XMLSCHEMA xmlschema_URL] ELEMENT {element |xmlschema_URL#element}]
                  [XMLTYPE [COLUMN] column [STORE AS CLOB LOB_Params] ]
                  [[XMLSCHEMA xmlschema_URL] ELEMENT {element |xmlschema_URL#element}]
        ]
                    Partitioning_clause
                       [[NO]CACHE] [[NO]ROWDEPENDENCIES] [[NO]MONITORING] [PARALLEL parallel_clause]
                          [ENABLE enable_clause | DISABLE disable_clause]
                             {ENABLE|DISABLE} ROW MOVEMENT
                                [AS subquery
CREATE [GLOBAL TEMPORARY] TABLE [schema.]table (
      column datatype [DEFAULT expr] [column_constraint(s)] [,column datatype [,…]]] )
         [table_constraint [,…]]
           [table_ref_constraint [,…]]
              [ON COMMIT {DELETE|PRESERVE} ROWS]
                 ORGANIZATION {HEAP [
            PCTFREE int
            PCTUSED int
               INITTRANS int
               MAXTRANS int
            STORAGE storage_clause
            TABLESPACE tablespace
               [LOGGING|NOLOGGING]
         ] [COMPRESS int|NOCOMPRESS]
                              | INDEX [
              storage_option(s) 
                {MAPPING TABLE | NOMAPPING}
                    [PCTTHRESHOLD int]
                    [COMPRESS int|NOCOMPRESS]
                    [ [INCLUDING column_name] OVERFLOW [storage_option(s)] ]
           ]
                              | EXTERNAL (
              [TYPE access_driver_type]
                                 DEFAULT DIRECTORY directory [ACCESS PARAMETERS {USING CLOB subquery | (opaque_format_spec) }]
                                 LOCATION (directory:'location_specifier' [,directory2:'location_specifier2'...)
                              ) [REJECT LIMIT {int|UNLIMITED}] }
                [LOB_storage_clause][varray_clause][
                   NESTED TABLE {nested_item | COLUMN_VALUE}
                   [ [ELEMENT] IS OF TYPE (ONLY type) ]] |  [ [NOT] SUBSTITUTABLE AT ALL LEVELS ]] 
                   STORE AS storage_table 
                   [RETURN AS {LOCATOR|VALUE} ]
           ] [
                   [XMLTYPE [COLUMN] column [STORE AS OBJECT RELATIONAL] ]
                   [[XMLSCHEMA xmlschema_URL] ELEMENT {element |xmlschema_URL#element}]
                   [XMLTYPE [COLUMN] column [STORE AS CLOB LOB_Segname (LOB_Params)]]
                   [[XMLSCHEMA xmlschema_URL] ELEMENT {element |xmlschema_URL#element}]
                   [XMLTYPE [COLUMN] column [STORE AS CLOB LOB_Params] ]
                   [[XMLSCHEMA xmlschema_URL] ELEMENT {element |xmlschema_URL#element}]
           ]
                    Partitioning_clause
                       [[NO]CACHE] [[NO]ROWDEPENDENCIES] [[NO]MONITORING] [PARALLEL parallel_clause]
                          [ENABLE enable_clause | DISABLE disable_clause]
                             {ENABLE|DISABLE} ROW MOVEMENT
                                [AS subquery
CREATE TABLE [schema.]table OF XMLTYPE [
   [XMLTYPE [COLUMN] column [STORE AS OBJECT RELATIONAL] ]
   [[XMLSCHEMA xmlschema_URL] ELEMENT {element |xmlschema_URL#element}]
   [XMLTYPE [COLUMN] column [STORE AS CLOB LOB_Segname (LOB_Params)]]
   [[XMLSCHEMA xmlschema_URL] ELEMENT {element |xmlschema_URL#element}]
   [XMLTYPE [COLUMN] column [STORE AS CLOB LOB_Params] ]
   [[XMLSCHEMA xmlschema_URL] ELEMENT {element |xmlschema_URL#element}]
]

Paramètres

Nom Description
GLOBAL TEMPORARY Ce paramètre permet de créer une table permanente ou temporaire. Une table temporaire conserve les données par session ou transaction.
[schema.]table Ce paramètre permet d'indiquer le nom complet de la table, optionnellement préfixé par le schéma.
column datatype [DEFAULT expr] [column_constraint(s)] Ce paramètre permet de définir une colonne avec son type, une valeur par défaut et des contraintes (NOT NULL, UNIQUE,...).
table_constraint Ce paramètre permet d'indiquer la contrainte de table comme PRIMARY KEY, FOREIGN KEY, UNIQUE, CHECK.
table_ref_constraint Ce paramètre permet d'indiquer la contrainte de référence (exemple : FOREIGN KEY).
ON COMMIT {DELETE PRESERVE} ROWS Ce paramètre permet de définir le comportement des lignes de la table temporaire à la fin de la transaction.
cluster_name (col1, col2,...) Ce paramètre permet d'indiquer l'association de la table à un unité d'allocation Oracle.
PCTFREE / PCTUSED Ce paramètre permet de contrôler la gestion de l'espace libre dans les blocs de données.
INITTRANS / MAXTRANS Ce paramètre permet de définir le nombre initial et maximum de transactions simultanées par bloc.
storage_clause Ce paramètre permet de préciser les options d'entreposage (INITIAL, NEXT, MINEXTENTS,...).
tablespace Ce paramètre permet d'indiquer le tablespace où la table est entreposée.
LOGGING / NOLOGGING Ce paramètre permet de définir si les opérations sur la table sont enregistrées dans le journal de redo.
COMPRESS int / NOCOMPRESS Ce paramètre permet d'activer ou non la compression des données de la table.
LOB_storage_clause Ce paramètre permet de définir l'entreposage des objets LOB (Large Objects).
varray_clause Ce paramètre permet de gérer l'entreposage des tableaux VARRAY.
NESTED TABLE ... STORE AS ... Ce paramètre permet l'entreposage des tables imbriquées dans une table séparée.
[ELEMENT] IS OF TYPE (ONLY type) Ce paramètre permet d'indiquer le type des éléments stockés pour types objets.
[NOT] SUBSTITUTABLE AT ALL LEVELS Ce paramètre permet de définir si les sous-types peuvent être substitués au type parent.
RETURN AS {LOCATOR VALUE} Ce paramètre permet de contrôler comment les objets LOB ou XML sont retournés (référence ou valeur).
XMLTYPE [COLUMN] column [STORE AS ...] Ce paramètre permet de définir une colonne de type XML et son mode d'entreposage.
[XMLSCHEMA xmlschema_URL] ELEMENT ... Ce paramètre permet de lire la colonne XML à un schéma XML.
Partitioning_clause Ce paramètre permet de définir le partitionnement de la table (RANGE, HASH,...).
[NO]CACHE Ce paramètre permet de contrôler si les blocs de la table sont gardés en cache.
[NO]ROWDEPENDENCIES Ce paramètre permet d'activer ou de désactiver le suivi des dépendances de lignes.
[NO]MONITORING Ce paramètre permet d'activer ou non le suivi d'utilisation de la table pour l'optimiseur.
PARALLEL parallel_clause Ce paramètre permet d'indiquer les options pour l'accès parallèle.
ENABLE/DISABLE enable_clause Ce paramètre permet d'activer ou désactiver certaines contraintes.
ENABLE/DISABLE ROW MOVEMENT Ce paramètre permet ou non le déplacement des lignes entre partitions.
subquery Ce paramètre permet de créer une table à partir du résultat d'une sous-requête.
ORGANIZATION {HEAP INDEX EXTERNAL} Ce paramètre permet de définir l'organisation physique de la table.
EXTERNAL (...) Ce paramètre permet de créer une table externe accédant à des fichiers en dehors de la base.
REJECT LIMIT {int UNLIMITED} Ce paramètre permet de limiter le nombre d'erreurs acceptées lors du chargement des données dans une table externe.

Description

Cette instruction permet de créer une table dans la base de données spécifié ou courante.

Remarques

Voir également

Article - Les géants de l'informatique - Oracle

Dernière mise à jour : Lundi, le 11 mai 2015