{"version":"1.1","schema_version":"1.1.0","plugin_version":"1.1.2","url":"https://tutos-gameserver.fr/2019/10/06/creer-la-table-bien-choisir-son-serveur-d-impression/","llm_html_url":"https://tutos-gameserver.fr/2019/10/06/creer-la-table-bien-choisir-son-serveur-d-impression/llm","llm_json_url":"https://tutos-gameserver.fr/2019/10/06/creer-la-table-bien-choisir-son-serveur-d-impression/llm.json","manifest_url":"https://tutos-gameserver.fr/llm-endpoints-manifest.json","language":"fr-FR","locale":"fr_FR","title":"CREER LA TABLE\n\n &#8211; Bien choisir son serveur d impression","site":{"name":"Tutos GameServer","url":"https://tutos-gameserver.fr/"},"author":{"id":1,"name":"Titanfall","url":"https://tutos-gameserver.fr/author/titanfall/"},"published_at":"2019-10-06T03:16:46+00:00","modified_at":"2019-10-06T03:16:46+00:00","word_count":17014,"reading_time_seconds":5105,"summary":"Objectif Nouse le CRÉER TABLE instruction pour créer l’un des types de tables suivants: UNE table relationnelle, qui est la structure de base pour stocker les données utilisateur. Un table objet, qui est une table qui utilise un type d’objet pour une définition de colonne. Une table d&#39;objets est explicitement définie pour contenir des instances [&hellip;]","summary_points":["Objectif\nNouse le CRÉER TABLE instruction pour créer l’un des types de tables suivants:\n\n\nUNE table relationnelle, qui est la structure de base pour stocker les données utilisateur.","Un table objet, qui est une table qui utilise un type d’objet pour une définition de colonne.","Une table d&#39;objets est explicitement définie pour contenir des instances d&#39;objet d&#39;un type particulier.","Vous pouvez également créer un type d&#39;objet, puis l&#39;utiliser dans une colonne lors de la création d&#39;une table relationnelle."],"topics":["Serveur d'impression"],"entities":[],"entities_metadata":[{"id":10,"name":"Serveur d'impression","slug":"serveur-dimpression","taxonomy":"category","count":3907,"url":"https://tutos-gameserver.fr/category/serveur-dimpression/"}],"tags":["Serveur d'impression"],"content_hash":"5b8704888c6f8022a1d570ec4a6464f3","plain_text":"Objectif\nNouse le CRÉER TABLE instruction pour créer l’un des types de tables suivants:\n\n\nUNE table relationnelle, qui est la structure de base pour stocker les données utilisateur.\n\n\nUn table objet, qui est une table qui utilise un type d’objet pour une définition de colonne. Une table d&#39;objets est explicitement définie pour contenir des instances d&#39;objet d&#39;un type particulier.\n\n\nVous pouvez également créer un type d&#39;objet, puis l&#39;utiliser dans une colonne lors de la création d&#39;une table relationnelle.\nLes tables sont créées sans données sauf si une sous-requête est spécifiée. Vous pouvez ajouter des lignes à une table avec le INSÉRER déclaration. Après avoir créé une table, vous pouvez définir des colonnes, des partitions et des contraintes d’intégrité supplémentaires avec AJOUTER clause de la MODIFIER TABLE déclaration. Vous pouvez modifier la définition d’une colonne ou d’une partition existante avec MODIFIER clause de la MODIFIER TABLE déclaration.\nSujets supplémentaires\nConditions préalables\nPour créer une table relationnelle dans votre propre schéma, vous devez disposer du CRÉER TABLE privilège système. Pour créer une table dans le schéma d’un autre utilisateur, vous devez disposer du CRÉER TOUT TABLE privilège système. De plus, le propriétaire du schéma devant contenir la table doit avoir un quota d’espace sur l’espace de table pour contenir la table ou le ILLIMITÉ TABLESPACE privilège système.\nOutre ces privilèges de table, pour créer une table objet ou une table relationnelle avec une colonne de type objet, le propriétaire de la table doit disposer du EXÉCUTER privilège d&#39;objet afin d&#39;accéder à tous les types référencés par la table, ou vous devez disposer du EXÉCUTER TOUT TYPE privilège système. Ces privilèges doivent être accordés explicitement et non acquis via un rôle.\nDe plus, si le propriétaire de la table a l&#39;intention d&#39;accorder l&#39;accès à la table à d&#39;autres utilisateurs, il doit alors avoir obtenu l&#39;autorisation EXÉCUTER privilège d&#39;objet sur les types référencés AVEC SUBVENTION OPTION, ou avoir le EXÉCUTER TOUT TYPE privilège système AVEC ADMIN OPTION. Sans ces privilèges, le propriétaire de la table ne dispose pas de privilèges suffisants pour accorder l&#39;accès à la table à d&#39;autres utilisateurs.\nPour activer une contrainte de clé unique ou primaire, vous devez disposer des privilèges nécessaires pour créer un index sur la table. Vous avez besoin de ces privilèges, car Oracle Database crée un index sur les colonnes de la clé unique ou primaire du schéma contenant la table.\nPour créer une table externe, vous devez disposer des privilèges de système d&#39;exploitation requis en lecture et en écriture sur les répertoires appropriés du système d&#39;exploitation. Vous devez avoir le LIS privilège object sur l&#39;objet de répertoire de base de données correspondant au répertoire du système d&#39;exploitation dans lequel résident les données externes. Vous devez aussi avoir le ÉCRIRE Privilège d’objet sur le répertoire de la base de données dans lequel les fichiers résideront si vous spécifiez un fichier journal ou un fichier incorrect dans le répertoire. opaque_format_spec    ou si vous déchargez des données dans une table externe à partir d&#39;une table de base de données en spécifiant le COMME sous-requête    clause.\nSyntaxe\ncreate_table:: =\n\nDescription de l&#39;illustration create_table.gif\n(table_relationnelle:: =, objet_table :: =, XMLType_table :: =)\ntable_relationnelle:: =\n\nDescription de l&#39;illustration relational_table.gif\n\nRemarque:\nChacune des clauses qui suivent le nom de la table est facultative pour toute table relationnelle donnée. Cependant, pour chaque table, vous devez au moins spécifier les noms de colonne et les types de données à l&#39;aide de la commande propriétés_relationnelles    clause ou un COMME sous-requête    clause utilisant la propriétés_table    clause.\n(propriétés_relationnelles:: =, propriétés physiques:: =, propriétés_table:: =)\nobjet_table    :: =\n\nDescription de l&#39;illustration object_table.gif\n(object_table_substitution :: =, propriétés_objet:: =, oid_clause:: =, oid_index_clause:: =, propriétés physiques:: =, propriétés_table:: =)\nXMLType_table    :: =\n\nDescription de l&#39;illustration XMLType_table.gif\n(XMLType_storage:: =, XMLSchema_spec:: =, oid_clause:: =, oid_index_clause:: =, propriétés physiques:: =, propriétés_table:: =)\npropriétés_relationnelles:: =\n\nDescription de l&#39;illustration relational_properties.gif\n(définition_colonne:: =, contrainte:: =, supplemental_logging_props :: =)\ndéfinition_colonne:: =\n\nDescription de l&#39;illustration column_definition.gif\n(encryption_spec:: =, contrainte:: =)\nencryption_spec:: =\n\nDescription de l&#39;illustration encryption_spec.gif\nobject_table_substitution    :: =\n\nDescription de l&#39;illustration object_table_substitution.gif\npropriétés_objet:: =\n\nDescription de l&#39;illustration object_properties.gif\n(contrainte:: =, supplemental_logging_props :: =)\noid_clause:: =\n\nDescription de l&#39;illustration oid_clause.gif\noid_index_clause:: =\n\nDescription de l&#39;illustration oid_index_clause.gif\n(clause_attributs_ physiques:: =)\npropriétés physiques:: =\n\nDescription de l&#39;illustration physical_properties.gif\n(segment_attributes_clause :: =, compression_table:: =, index_org_table_clause :: =, clause_table_externe :: =)\nsegment_attributes_clause    :: =\n\nDescription de l&#39;illustration segment_attributes_clause.gif\n(clause_attributs_ physiques:: =, clause_logging:: =)\nclause_attributs_ physiques:: =\n\nDescription de l&#39;illustration physical_attributes_clause.gif\n(clause_stockage:: =) \ncompression_table:: =\n\nDescription de l&#39;illustration table_compression.gif\npropriétés_table:: =\n\nDescription de l&#39;illustration table_properties.gif\n(propriétés de la colonne:: =, clauses_partitionnement_table :: =, clause_parallèle :: =, enable_disable_clause :: =, row_movement_clause :: =, sous-requête:: =)\npropriétés de la colonne:: =\n\nDescription de l&#39;illustration column_properties.gif\n(object_type_col_properties:: =, nested_table_col_properties :: =, varray_col_properties :: =, LOB_storage_clause:: =, LOB_partition_storage:: =, XMLType_column_properties :: =)\nobject_type_col_properties:: =\n\nDescription de l&#39;illustration object_type_col_properties.gif\nsubstitutable_column_clause:: =\n\nDescription de l&#39;illustration substitutable_column_clause.gif\nnested_table_col_properties :: =\n\nDescription de l&#39;illustration nested_table_col_properties.gif\n(substitutable_column_clause:: =, propriétés_objet:: =, propriétés physiques:: =, propriétés de la colonne:: =)\nvarray_col_properties :: =\n\nDescription de l&#39;illustration varray_col_properties.gif\n(substitutable_column_clause:: =, LOB_parameters :: =)\nLOB_storage_clause:: =\n\nDescription de l&#39;illustration LOB_storage_clause.gif\n(LOB_parameters :: =)\nLOB_parameters    :: =\n\nDescription de l&#39;illustration LOB_parameters.gif\n(clause_stockage:: =)\nclause_logging:: =\n\nDescription de l&#39;illustration logging_clause.gif\nLOB_partition_storage:: =\n\nDescription de l&#39;illustration LOB_partition_storage.gif\n(LOB_storage_clause:: =, varray_col_properties :: =)\nXMLType_column_properties    :: =\n\nDescription de l&#39;illustration XMLType_column_properties.gif\n(XMLType_storage:: =, XMLSchema_spec:: =)\nXMLType_storage:: =\n\nDescription de l&#39;illustration XMLType_storage.gif\n(LOB_parameters :: =)\nXMLSchema_spec:: =\n\nDescription de l&#39;illustration XMLSchema_spec.gif\nrow_movement_clause :: =\n\nDescription de l&#39;illustration row_movement_clause.gif\nindex_org_table_clause :: =\n\nDescription de l&#39;illustration index_org_table_clause.gif\n(mapping_table_clauses:: =, key_compression :: =, index_org_overflow_clause :: =)\nmapping_table_clauses:: =\n\nDescription de l&#39;illustration mapping_table_clauses.gif\nkey_compression    :: =\n\nDescription de l&#39;illustration key_compression.gif\nindex_org_overflow_clause    :: =\n\nDescription de l&#39;illustration index_org_overflow_clause.gif\n(segment_attributes_clause :: =)\nsupplemental_logging_props    :: =\n\nDescription de l&#39;illustration supplemental_logging_props.gif\nsupplemental_log_grp_clause:: =\n\nDescription de l&#39;illustration supplemental_log_grp_clause.gif\nsupplemental_id_key_clause:: =\n\nDescription de l&#39;illustration supplemental_id_key_clause.gif\nclause_table_externe    :: =\n\nDescription de l&#39;illustration external_table_clause.gif\n(données_externes:: =)\ndonnées_externes:: =\n\nDescription de l&#39;illustration external_data_properties.gif\n(opaque_format_spec: Voir Utilitaires de base de données Oracle pour savoir comment spécifier des valeurs pour opaque_format_spec.)\nclauses_partitionnement_table    :: =\n\nDescription de l&#39;illustration table_partitioning_clauses.gif\n(range_partitioning:: =, hash_partitioning :: =, partition_partition :: =, partitionnement composite :: =)\nrange_partitioning:: =\n\nDescription de l&#39;illustration range_partitioning.gif\n(plage_valeurs_clause:: =, description_partition_table:: =)\nhash_partitioning    :: =\n\nDescription de l&#39;illustration hash_partitioning.gif\n(individual_hash_partitions:: =, hash_partitions_by_quantity:: =)\npartition_partition    :: =\n\nDescription de l&#39;illustration list_partitioning.gif\n(list_values_clause:: =, description_partition_table:: =)\npartitionnement composite :: =\n\nDescription de l&#39;illustration composite_partitioning.gif\n(subpartition_by_list:: =, subpartition_by_hash:: =, plage_valeurs_clause:: =, description_partition_table:: =)\nsubpartition_by_hash:: =\n\nDescription de l&#39;illustration subpartition_by_hash.gif\n(subpartition_template:: =)\nindividual_hash_partitions:: =\n\nDescription de l&#39;illustration individual_hash_partitions.gif\n(partitioning_storage_clause:: =)\nhash_partitions_by_quantity:: =\n\nDescription de l&#39;illustration hash_partitions_by_quantity.gif\nsubpartition_by_list:: =\n\nDescription de l&#39;illustration subpartition_by_list.gif\n(subpartition_template:: =)\nsubpartition_template:: =\n\nDescription de l&#39;illustration subpartition_template.gif\n(list_values_clause:: =, partitioning_storage_clause:: =)\nplage_valeurs_clause:: =\n\nDescription de l&#39;illustration range_values_clause.gif\nlist_values_clause:: =\n\nDescription de l&#39;illustration list_values_clause.gif\ndescription_partition_table:: =\n\nDescription de l&#39;illustration table_partition_description.gif\n(segment_attributes_clause :: =, compression_table:: =, LOB_storage_clause:: =, varray_col_properties :: =, partition_level_subpartition:: =)\npartition_level_subpartition:: =\n\nDescription de l&#39;illustration partition_level_subpartition.gif\n(subpartition_spec:: =)\nsubpartition_spec:: =\n\nDescription de l&#39;illustration subpartition_spec.gif\n(list_values_clause:: =, partitioning_storage_clause:: =)\npartitioning_storage_clause:: =\n\nDescription de l&#39;illustration partitioning_storage_clause.gif\nclause_parallèle :: =\n\nDescription de l&#39;illustration parallel_clause.gif\nenable_disable_clause :: =\n\nDescription de l&#39;illustration enable_disable_clause.gif\n(using_index_clause :: =, exceptions_clause n&#39;est pas supporté dans CRÉER TABLE déclarations)\nusing_index_clause    :: =\n\nDescription de l&#39;illustration using_index_clause.gif\n(create_index:: =, propriété_index:: =)\npropriété_index:: =\n\nDescription de l&#39;illustration index_properties.gif\n(global_partitioned_index :: =, local_partitioned_index :: =&#8211;partie de CRÉER INDICE, index_attributes:: =, domain_index_clause: non pris en charge dans using_index_clause)\nindex_attributes:: =\n\nDescription de l&#39;illustration index_attributes.gif\n(clause_attributs_ physiques:: =, logging_clause:: =, key_compression :: =, clause_parallèle: non pris en charge dans using_index_clause)\nSémantique\ntable_relationnelle \nGLOBAL TEMPORARY \nSpécifier GLOBAL TEMPORAIRE pour indiquer que la table est temporaire et que sa définition est visible pour toutes les sessions avec les privilèges appropriés. le Les données dans une table temporaire est visible uniquement pour la session qui insère les données dans la table.\nLorsque vous créez une table temporaire pour la première fois, ses métadonnées de table sont stockées dans le dictionnaire de données, mais aucun espace n&#39;est alloué pour les données de la table. Un espace est alloué pour le segment de table au moment de la première opération DML sur la table. La définition de la table temporaire persiste de la même manière que les définitions des tables normales, mais le segment de la table et toutes les données contenues dans la table sont soit spécifique à la session ou spécifique à la transaction Les données. Vous spécifiez si le segment de table et les données sont spécifiques à la session ou à la transaction avec les mots-clés ON COMMIT.\nVous pouvez effectuer des opérations DDL (telles que MODIFIER TABLE, LAISSEZ TOMBER TABLE, CRÉER INDICE) sur une table temporaire uniquement lorsqu&#39;aucune session n&#39;est liée à celle-ci. Une session devient liée à une table temporaire en effectuant une opération INSÉRER opération sur la table. Une session devient non liée à la table temporaire en émettant un TRONQUER ou à la fin de la session, ou, pour une table temporaire spécifique à une transaction, en émettant un COMMETTRE ou RETOUR EN ARRIERE déclaration.\nRestrictions sur les tables temporaires Les tables temporaires sont soumises aux restrictions suivantes:\n\n\nLes tables temporaires ne peuvent pas être partitionnées, en cluster ou organisées par index.\n\n\nVous ne pouvez spécifier aucune contrainte de clé étrangère sur les tables temporaires.\n\n\nLes tables temporaires ne peuvent pas contenir de colonnes de table imbriquée.\n\n\nVous ne pouvez pas spécifier les clauses suivantes du LOB_storage_clause: TABLESPACE, clause_stockage, ou clause_logging.\n\n\nLes requêtes DML parallèles et parallèles ne sont pas prises en charge pour les tables temporaires. Les indications parallèles sont ignorées. Spécification de la clause_parallèle    renvoie une erreur.\n\n\nVous ne pouvez pas spécifier le segment_attributes_clause, nested_table_col_properties, ou clause_parallèle.\n\n\nLes transactions distribuées ne sont pas prises en charge pour les tables temporaires.\n\n\nschéma\nSpécifiez le schéma pour contenir la table. Si vous omettez schéma, la base de données crée alors la table dans votre propre schéma.\ntable\nSpécifiez le nom de la table ou de la table d&#39;objets à créer.\npropriétés_relationnelles\nLes propriétés relationnelles décrivent les composants d&#39;une table relationnelle.\ndéfinition_colonne\nle définition_colonne    vous permet de définir les caractéristiques de la colonne.\ncolonne \nSpécifiez le nom d&#39;une colonne de la table.\nSi vous spécifiez également COMME sous-requêtealors vous pouvez omettre colonne    et Type de données    sauf si vous créez une table organisée par index. Si vous spécifiez COMME sous-requête    lors de la création d&#39;une table organisée par index, vous devez spécifier colonneet vous devez l&#39;omettre Type de données.\nLe nombre maximum absolu de colonnes dans une table est 1000. Toutefois, lorsque vous créez une table objet ou une table relationnelle avec des colonnes d&#39;objet, une table imbriquée, un tableau de variables ou REF type, Oracle Database mappe les colonnes des types définis par l&#39;utilisateur sur des colonnes relationnelles, créant ainsi des colonnes masquées qui comptent pour la limite de 1 000 colonnes.\nType de données\nSpécifiez le type de données d&#39;une colonne.\nNotes sur les types de données de colonne de table Les remarques suivantes s&#39;appliquent aux types de données des colonnes de table:\n\n\nSi vous spécifiez COMME sous-requêtealors vous pouvez omettre Type de données. Si vous créez une table organisée par index et que vous spécifiez COMME sous-requête, vous devez alors omettre le type de données.\n\n\nVous pouvez aussi omettre Type de données    si l&#39;instruction désigne la colonne en tant que partie d&#39;une clé étrangère dans une contrainte d&#39;intégrité référentielle. Oracle Database affecte automatiquement à la colonne le type de données de la colonne correspondante de la clé référencée de la contrainte d&#39;intégrité référentielle.\n\n\nNe créez pas de table avec LONGUE Colonnes. Utiliser les colonnes LOB (CLOB, NCLOB, GOUTTE) au lieu. LONGUE les colonnes sont prises en charge uniquement pour des raisons de compatibilité ascendante.\n\n\nRestriction sur les types de données de colonne de table Vous pouvez spécifier une colonne de type ROWID, mais Oracle Database ne garantit pas que les valeurs de ces colonnes sont des ID de ligne valides.\n\nVoir également:\n&quot;Types de données&quot; pour plus d&#39;informations sur LONGUE colonnes et sur les types de données fournis par Oracle\nTRIER \nle TRIER mot-clé est valide uniquement si vous créez cette table dans le cadre d&#39;un cluster de hachage et uniquement pour les colonnes qui sont également des colonnes de cluster.\nCette clause indique à la base de données de trier les lignes du cluster sur cette colonne avant d&#39;appliquer la fonction de hachage. Cela pourrait améliorer le temps de réponse lors d&#39;opérations ultérieures sur les données en cluster.\nDÉFAUT \nle DÉFAUT Cette clause vous permet de spécifier une valeur à affecter à la colonne si une nouvelle INSÉRER instruction omet une valeur pour la colonne. Le type de données de l&#39;expression doit correspondre à celui de la colonne. La colonne doit également être suffisamment longue pour contenir cette expression.\nle DÉFAUT expression peut inclure n&#39;importe quelle fonction SQL tant qu&#39;elle ne renvoie pas d&#39;argument littéral, de référence de colonne ou d&#39;appel de fonction imbriquée.\nRestriction sur les valeurs de colonne par défaut UNE DÉFAUT expression ne peut pas contenir de références à des fonctions PL / SQL ni à d’autres colonnes, les pseudocolonnes CURRVAL, NEXTVAL, NIVEAU, AVANT, et ROWNUM, ou des constantes de date qui ne sont pas complètement spécifiées.\nCRYPTER encryption_spec \nle CRYPTER Cette clause vous permet d’utiliser la fonctionnalité de chiffrement de données transparente pour chiffrer la colonne que vous définissez. Vous pouvez chiffrer des colonnes de type CARBONISER, NCHAR, VARCHAR2, NVARCHAR2, NOMBRE, DATE, et BRUT. Les données n&#39;apparaissent pas sous leur forme chiffrée pour les utilisateurs autorisés, tels que l&#39;utilisateur qui chiffre la colonne.\nEN UTILISANT &#39;algorithme d&#39;encodage&#39; Utilisez cette clause pour spécifier le nom de l&#39;algorithme à utiliser. Les algorithmes valides sont 3DES168, AES128, AES192, et AES256. Si vous omettez cette clause, la base de données utilise AES192. Si vous chiffrez plusieurs colonnes dans la même table et si vous spécifiez la EN UTILISANT clause pour l’une des colonnes, vous devez spécifier le même algorithme de chiffrement pour toutes les colonnes chiffrées.\nIDENTIFIÉ PAR mot de passe Si vous spécifiez cette clause, la base de données dérive la clé de colonne du mot de passe spécifié.\nSEL | PAS DE SEL Par défaut, la base de données ajoute une chaîne aléatoire, appelée &quot;sel&quot;, au texte en clair de la colonne avant de la chiffrer. Si vous souhaitez utiliser la colonne en tant que clé d&#39;index, vous devez spécifier NON SEL. Prière de se référer à Guide de l&#39;administrateur Oracle Advanced Security pour une description de &quot;sel&quot; dans ce contexte.\nRestrictions sur la clause ENCRYPT: Les restrictions suivantes s&#39;appliquent au chiffrement de colonne:\n\n\nPour chiffrer une colonne dans une table externe, la table doit utiliser ORACLE_DATAPUMP comme son type d&#39;accès.\n\n\nVous ne pouvez pas chiffrer une colonne dans les tables appartenant à SYS.\n\n\nVous ne pouvez pas chiffrer une colonne de clé étrangère.\n\n\nClauses de contrainte\nUtilisez ces clauses pour créer des contraintes sur les colonnes de la table. Vous devez spécifier un PRIMAIRE CLÉ contrainte pour une table organisée par index, et il ne peut pas être Reportable. Prière de se référer à contrainte    pour la syntaxe et la description de ces contraintes ainsi que des exemples.\ninline_ref_constraint et out_of_line_ref_constraint  Ces clauses vous permettent de décrire une colonne de type REF. La seule différence entre ces clauses est que vous spécifiez out_of_line_ref_constraint    au niveau de la table, vous devez donc identifier le REF colonne ou attribut que vous définissez. Spécifier inline_ref_constraint    dans le cadre de la définition du REF colonne ou attribut.\ninline_constraiNT  Utilisez le inline_constraint    définir une contrainte d’intégrité dans la définition de la colonne.\nVous pouvez créer UNIQUE, PRIMAIRE CLÉ, et RÉFÉRENCES contraintes sur les attributs scalaires des colonnes de type d&#39;objet. Vous pouvez également créer NE PAS NUL contraintes sur les colonnes de type d&#39;objet et VÉRIFIER des contraintes qui font référence à des colonnes de type d&#39;objet ou à tout attribut d&#39;une colonne de type d&#39;objet.\nout_of_line_constraint  Utilisez le out_of_line_constraint    syntaxe pour définir une contrainte d&#39;intégrité dans la définition de la table.\nsupplemental_logging_props \nle supplemental_logging_props    Cette clause vous permet de charger la base de données de placer des données supplémentaires dans le flux de journaux afin de prendre en charge les outils basés sur les journaux.\nsupplemental_log_grp_clause Utilisez cette clause pour créer un groupe de journaux nommé.\n\n\nle NON BÛCHE Cette clause vous permet d’omettre du journal de reprise une ou plusieurs colonnes qui seraient autrement incluses dans le rétablissement du groupe de journaux nommé. Vous devez spécifier au moins une colonne de longueur fixe sans NON BÛCHE dans le groupe de journaux nommé.\n\n\nSi vous spécifiez TOUJOURS, puis lors d’une mise à jour, la base de données inclut dans la restauration toutes les colonnes du groupe de journaux. Ceci s&#39;appelle un groupe de journaux inconditionnel (parfois appelé &quot;groupe de journalisation&quot;), car Oracle Database enregistre de manière complémentaire toutes les colonnes du groupe de journalisation lorsque la ligne associée est modifiée. Si vous omettez TOUJOURS, la base de données enregistre ensuite toutes les colonnes du groupe de journaux uniquement si l’une quelconque des colonnes du groupe de journaux est modifiée. Ceci s&#39;appelle un groupe de journaux conditionnel.\n\n\nVous pouvez interroger le approprié UTILISATEUR_, TOUT_, ou DBA_LOG_GROUP_COLUMNS dictionnaire de données pour déterminer si une journalisation supplémentaire a déjà été spécifiée.\nsupplemental_id_key_clause Utilisez cette clause pour spécifier que toutes les colonnes de clé primaire, de clé unique et de clé étrangère, ou une combinaison de celles-ci, doivent être journalisées. Oracle Database générera soit un groupe de journaux inconditionnel ou un groupe de journaux conditionnel. Avec un groupe de journaux inconditionnel, la base de données enregistre de manière supplémentaire toutes les colonnes du groupe de journaux lorsque la ligne associée est modifiée. Avec un groupe de journaux conditionnel, la base de données enregistre de manière complémentaire toutes les colonnes du groupe de journaux uniquement si l&#39;une des colonnes du groupe de journaux est modifiée.\n\n\nSi vous spécifiez TOUT COLONNES, alors la base de données inclut dans le journal de restauration toutes les colonnes de taille maximale de longueur fixe de cette ligne. Un tel journal de rétablissement est un groupe de journaux inconditionnel généré par le système.\n\n\nSi vous spécifiez PRIMAIRE CLÉ COLONNES, puis pour toutes les tables avec une clé primaire, la base de données place dans le journal de restauration toutes les colonnes de la clé primaire chaque fois qu&#39;une mise à jour est effectuée. Oracle Database évalue les colonnes à consigner de manière supplémentaire comme suit:\n\n\nLa base de données choisit d’abord les colonnes de la contrainte de clé primaire, si celle-ci est validée ou marquée COMPTER et n&#39;est pas marqué comme DÉSACTIVÉ ou INITIALEMENT DIFFÉRÉ.\n\n\nSi aucune colonne de clé primaire n&#39;existe, la base de données recherche la plus petite UNIQUE index avec au moins un NE PAS NUL colonne et utilise les colonnes de cet index.\n\n\nSi aucun index de ce type n&#39;existe, la base de données enregistre ensuite toutes les colonnes scalaires de la table.\n\n\n\n\nSi vous spécifiez UNIQUE COLONNES, puis pour toutes les tables avec une clé unique ou un index bitmap, si l’une quelconque des colonnes d’index clé unique ou bitmap est modifiée, la base de données place dans le journal de restauration toutes les autres colonnes appartenant à la clé unique ou à l’index bitmap. Un tel groupe de journaux est un groupe de journaux conditionnel généré par le système.\n\n\nSi vous spécifiez ÉTRANGER CLÉ COLONNES, puis pour toutes les tables avec une clé étrangère, si des colonnes de clé étrangère sont modifiées, la base de données place dans le journal de restauration toutes les autres colonnes appartenant à la clé étrangère. Un tel journal de rétablissement est un groupe de journaux conditionnel généré par le système.\n\n\nSi vous spécifiez cette clause plusieurs fois, la base de données crée un groupe de journaux distinct pour chaque spécification. Vous pouvez interroger le approprié UTILISATEUR_, TOUT_, ou DBA_LOG_GROUPS dictionnaire de données pour déterminer si des données de journalisation supplémentaires ont déjà été spécifiées.\nSUR COMMETTRE\nle SUR COMMETTRE La clause n&#39;est pertinente que si vous créez une table temporaire. Cette clause spécifie si les données de la table temporaire sont conservées pendant la durée d&#39;une transaction ou d&#39;une session.\nSUPPRIMER LES RANGES Spécifier EFFACER LIGNES pour une table temporaire spécifique à une transaction. C&#39;est la valeur par défaut. Oracle Database tronquera la table (supprimera toutes ses lignes) après chaque validation.\nPréserver les rangs Spécifier PRÉSERVER LIGNES pour une table temporaire spécifique à la session. Oracle Database tronque la table (supprime toutes ses lignes) lorsque vous terminez la session.\npropriétés physiques\nLes propriétés physiques concernent le traitement des étendues et des segments et les caractéristiques de stockage de la table.\nsegment_attributes_clause \nle segment_attributes_clause    vous permet de spécifier les attributs physiques et le stockage d&#39;espace table pour la table.\nclause_attributs_ physiques le clause_attributs_ physiques    vous permet de spécifier la valeur du PCTFREE, PCTUSED, et INITRANS paramètres et les caractéristiques de stockage de la table.\n\n\nPour une table non partitionnée, chaque paramètre et caractéristique de stockage que vous spécifiez détermine l&#39;attribut physique réel du segment associé à la table.\n\n\nPour les tables partitionnées, la valeur que vous spécifiez pour le paramètre ou la caractéristique de stockage est l&#39;attribut physique par défaut des segments associés à toutes les partitions spécifiées dans cette section. CRÉER déclaration (et dans la suite MODIFIER TABLE &#8230; AJOUTER CLOISON instructions), sauf si vous écrasez explicitement cette valeur dans CLOISON clause de l&#39;instruction qui crée la partition.\n\n\nSi vous omettez cette clause, Oracle Database définit PCTFREE à 10, PCTUSED à 40, et INITRANS à 1.\nTABLESPACE  Spécifiez l&#39;espace de table dans lequel Oracle Database crée la table, table d&#39;objet OIDINDEX, partition, segment de données LOB, segment d&#39;index LOB ou segment de données de dépassement de table organisé par index. Si vous omettez TABLESPACE, puis la base de données crée cet élément dans l’espace table par défaut du propriétaire du schéma contenant la table.\nPour une table organisée en tas avec une ou plusieurs colonnes LOB, si vous omettez le TABLESPACE clause de stockage LOB, la base de données crée les segments de données LOB et d’index dans le tablespace où la table est créée.\nPour une table organisée par index avec une ou plusieurs colonnes LOB, si vous omettez TABLESPACE, puis les segments de données et d&#39;index LOB sont créés dans l&#39;espace de table dans lequel le segment d&#39;index de clé primaire de la table organisée par index est créé.\nPour les tables non partitionnées, la valeur spécifiée pour TABLESPACE est l&#39;attribut physique réel du segment associé à la table. Pour les tables partitionnées, la valeur spécifiée pour TABLESPACE est l&#39;attribut physique par défaut des segments associés à toutes les partitions spécifiées dans le champ CRÉER déclaration et à la suite MODIFIER TABLE &#8230; AJOUTER CLOISON déclarations, sauf si vous spécifiez TABLESPACE dans le CLOISON la description.\nclause_logging \nIndiquez si la création de la table et de tout index requis en raison de contraintes, de caractéristiques de partition ou de stockage LOB sera consignée dans le fichier journal redo (ENREGISTREMENT) ou pas (NOLOGGING). L’attribut de journalisation de la table est indépendant de celui de ses index.\nCet attribut indique également si le chargeur direct ultérieur (SQL * Loader) et le chemin direct INSÉRER les opérations sur la table, la partition ou le stockage LOB sont consignées (ENREGISTREMENT) ou non connecté (NOLOGGING).\nPrière de se référer à clause_logging    pour une description complète de cette clause.\ncompression_table \nle compression_table    La clause n&#39;est valide que pour les tables organisées par tas. Utilisez cette clause pour indiquer à la base de données s&#39;il faut compresser les segments de données pour réduire l&#39;utilisation du disque. Cette clause est particulièrement utile dans des environnements tels que les entrepôts de données, où le nombre d&#39;opérations d&#39;insertion et de mise à jour est faible. le COMPRESSE mot clé active la compression de table. le NOCOMPRESS mot clé désactive la compression de la table. NOCOMPRESS est la valeur par défaut.\nLorsque vous activez la compression de table, Oracle Database tente de compresser les données lors d&#39;un accès direct. INSÉRER opérations quand il est productif de le faire. L&#39;utilitaire d&#39;importation d&#39;origine (imp) ne prend pas en charge le chemin direct. INSÉRERet ne peut donc pas importer des données dans un format compressé. Vous pouvez spécifier une compression de table pour les parties suivantes d&#39;une table organisée par tas:\n\n\nPour une table entière, dans le propriétés physiques    clause de table_relationnelle    ou objet_table\n\n\nFor a range partition, in the table_partition_description    du range_partitioning    clause\n\n\nFor a list partition, in the table_partition_description    du list_partitioning    clause\n\n\nFor the storage table of a nested table, in the nested_table_col_properties    clause\n\n\nRestrictions on Table Compression Table compression is subject to the following restrictions:\n\n\nTable compression is not supported for tables with more than 255 columns.\n\n\nLOB data segments are not compressed.\n\n\nYou cannot specify table compression for an index-organized table, any overflow segment or partition of an overflow segment, or any mapping table segment of an index-organized table.\n\n\nYou cannot define table compression explicitly for hash partitions or hash and list subpartitions. The table compression attribute for those partitions is inherited from the tablespace, the table, or the table partition setting.\n\n\nYou cannot specify table compression for external tables or for tables that are part of a cluster.\n\n\nRECOVERABLE | UNRECOVERABLE \nThese keywords are deprecated and have been replaced with LOGGING et NOLOGGING, respectivement. Bien que RECOVERABLE et UNRECOVERABLE are supported for backward compatibility, Oracle strongly recommends that you use the LOGGING et NOLOGGING keywords.\nRestrictions on [UN]RECOVERABLE This clause is subject to the following restrictions:\n\n\nYou cannot specify RECOVERABLE for partitioned tables or LOB storage characteristics.\n\n\nYou cannot specify UNRECOVERABLE for partitioned or index-organized tables.\n\n\nYou can specify UNRECOVERABLE only with COMME subquery.\n\n\nORGANIZATION \nle ORGANIZATION clause lets you specify the order in which the data rows of the table are stored.\nHEAP HEAP indicates that the data rows of table    are stored in no particular order. This is the default.\nINDEX INDEX indicates that table    is created as an index-organized table. In an index-organized table, the data rows are held in an index defined on the primary key for the table.\nEXTERNAL EXTERNAL indicates that table is a read-only table located outside the database.\nindex_org_table_clause\nUtilisez le index_org_table_clause    to create an index-organized table. Oracle Database maintains the table rows, both primary key column values and nonkey column values, in an index built on the primary key. Index-organized tables are therefore best suited for primary key-based access and manipulation. An index-organized table is an alternative to:\n\n\nA noncluster table indexed on the primary key by using the CREATE INDEX déclaration\n\n\nA cluster table stored in an indexed cluster that has been created using the CREATE CLUSTER statement that maps the primary key for the table to the cluster key\n\n\nYou must specify a primary key for an index-organized table, because the primary key uniquely identifies a row. The primary key cannot be DEFERRABLE. Use the primary key instead of the rowid for directly accessing index-organized rows.\nIf an index-organized table is partitioned and contains LOB columns, then you should specify the index_org_table_clause    first, then the LOB_storage_clause, and then the appropriate table_partitioning_clauses.\nYou cannot use the TO_LOB function to convert a LONG column to a LOB column in the subquery of a CREATE TABLE &#8230; COMME SELECT statement if you are creating an index-organized table. Instead, create the index-organized table without the LONG column, and then use the TO_LOB function in an INSÉRER &#8230; COMME SELECT déclaration.\nRestrictions on Index-Organized Tables Index-organized tables are subject to the following restrictions:\nPCTTHRESHOLD entier Specify the percentage of space reserved in the index block for an index-organized table row. PCTTHRESHOLD must be large enough to hold the primary key. All trailing columns of a row, starting with the column that causes the specified threshold to be exceeded, are stored in the overflow segment. PCTTHRESHOLD must be a value from 1 to 50. If you do not specify PCTTHRESHOLD, the default is 50.\nRestriction on PCTTHRESHOLD You cannot specify PCTTHRESHOLD for individual partitions of an index-organized table.\nmapping_table_clauses Specify MAPPING TABLE to instruct the database to create a mapping of local to physical ROWIDs and store them in a heap-organized table. This mapping is needed in order to create a bitmap index on the index-organized table. If the index-organized table is partitioned, then the mapping table is also partitioned and its partitions have the same name and physical attributes as the base table partitions.\nOracle Database creates the mapping table or mapping table partition in the same tablespace as its parent index-organized table or partition. You cannot query, perform DML operations on, or modify the storage characteristics of the mapping table or its partitions.\nkey_compression  le key_compression    clauses let you enable or disable key compression for index-organized tables.\n\n\nSpecify COMPRESS to enable key compression, which eliminates repeated occurrence of primary key column values in index-organized tables. Utilisation entier    to specify the prefix length, which is the number of prefix columns to compress.\nThe valid range of prefix length values is from 1 to the number of primary key columns minus 1. The default prefix length is the number of primary key columns minus 1.\n\n\nSpecify NOCOMPRESS to disable key compression in index-organized tables. This is the default.\n\n\nRestriction on Key Compression of Index-organized Tables At the partition level, you can specify COMPRESS, but you cannot specify the prefix length with entier.\nindex_org_overflow_clause  le index_org_overflow_clause    lets you instruct the database that index-organized table data rows exceeding the specified threshold are placed in the data segment specified in this clause.\n\n\nWhen you create an index-organized table, Oracle Database evaluates the maximum size of each column to estimate the largest possible row. If an overflow segment is needed but you have not specified OVERFLOW, then the database raises an error and does not execute the CREATE TABLE déclaration. This checking function guarantees that subsequent DML operations on the index-organized table will not fail because an overflow segment is lacking.\n\n\nAll physical attributes and storage characteristics you specify in this clause after the OVERFLOW keyword apply only to the overflow segment of the table. Physical attributes and storage characteristics for the index-organized table itself, default values for all its partitions, and values for individual partitions must be specified before this keyword.\n\n\nIf the index-organized table contains one or more LOB columns, then the LOBs will be stored out-of-line unless you specify OVERFLOW, even if they would otherwise be small enough be to stored inline.\n\n\nSi table    is partitioned, then the database equipartitions the overflow data segments with the primary key index segments.\n\n\nINCLUDING column_name Specify a column at which to divide an index-organized table row into index and overflow portions. The primary key columns are always stored in the index. column_name    can be either the last primary key column or any non primary key column. All non primary key columns that follow column_name    are stored in the overflow data segment.\nIf an attempt to divide a row at column_name    causes the size of the index portion of the row to exceed the specified or default PCTTHRESHOLD value, then the database breaks up the row based on the PCTTHRESHOLD valeur.\nRestriction on the INCLUDING Clause You cannot specify this clause for individual partitions of an index-organized table.\nexternal_table_clause \nUtilisez le external_table_clause    to create an external table, which is a read-only table whose metadata is stored in the database but whose data in stored outside the database. Among other capabilities, external tables let you query data without first loading it into the database.\nBecause external tables have no data in the database, you define them with a small subset of the clauses normally available when creating tables.\n\n\nWithin the relational_properties    clause, you can specify only colonne    et datatype.\n\n\nWithin the physical_properties_clause, you can specify only the organization of the table (ORGANIZATION EXTERNAL external_table_clause).\n\n\nWithin the table_properties    clause, you can specify only the parallel_clause. le parallel_clause    lets you parallelize subsequent queries on the external data and subsequent operations that populate the external table.\n\n\nYou can populate the external table at create time by using the COMME subquery    clause.\n\n\nNo other clauses are permitted in the same CREATE TABLE déclaration.\nRestrictions on External Tables External tables are subject to the following restrictions:\n\n\nAn external table cannot be a temporary table.\n\n\nYou cannot specify constraints on an external table.\n\n\nAn external table cannot have object type, varray, or LONG columns. However, you can populate LOB columns of an external table with varray or LONG data from an internal database table.\n\n\nTYPE  TYPE access_driver_type    indicates the access driver of the external table. The access driver is the API that interprets the external data for the database. Oracle Database provides two access drivers: ORACLE_LOADER et ORACLE_DATAPUMP. If you do not specify TYPE, then the database uses ORACLE_LOADER as the default access driver. You must specify the ORACLE_DATAPUMP access driver if you specify the COMME subquery    clause to unload data from one Oracle Database and reload it into the same or a different Oracle Database.\nDEFAULT DIRECTORY DEFAULT DIRECTORY lets you specify a default directory object corresponding to a directory on the file system where the external data sources may reside. The default directory can also be used by the access driver to store auxiliary files such as error logs.\nACCESS PARAMETERS The optional ACCESS PARAMETERS clause lets you assign values to the parameters of the specific access driver for this external table.\n\n\nle opaque_format_spec    lets you list the parameters and their values. Please refer to Oracle Database Utilities for information on how to specify values for the opaque_format_spec.\nField names specified in the opaque_format_spec    must match columns in the table definition. Oracle Database ignores any field in the opaque_format_spec    that is not matched by a column in the table definition.\n\n\nUSING CLOB subquery    lets you derive the parameters and their values through a subquery. The subquery cannot contain any set operators or an ORDER PAR clause. It must return one row containing a single item of datatype CLOB.\n\n\nWhether you specify the parameters in an opaque_format_spec    or derive them using a subquery, the database does not interpret anything in this clause. It is up to the access driver to interpret this information in the context of the external data.\nEMPLACEMENT le EMPLACEMENT clause lets you specify one or more external data sources. Usually the location_specifier    is a file, but it need not be. Oracle Database does not interpret this clause. It is up to the access driver to interpret this information in the context of the external data. You cannot use wildcards in the location_specifier    to specify multiple files.\nREJECT LIMIT le REJECT LIMIT clause lets you specify how many conversion errors can occur during a query of the external data before an Oracle Database error is returned and the query is aborted. The default value is 0.\nCLUSTER Clause \nle CLUSTER clause indicates that the table is to be part of cluster. The columns listed in this clause are the table columns that correspond to the cluster columns. Generally, the cluster columns of a table are the column or columns that make up its primary key or a portion of its primary key. Please refer to CREATE CLUSTER for more information.\nSpecify one column from the table for each column in the cluster key. The columns are matched by position, not by name.\nA cluster table uses the space allocation of the cluster. Therefore, do not use the PCTFREE, PCTUSED, ou INITRANS parameters, the TABLESPACE clause, or the storage_clause    avec le CLUSTER clause.\nRestrictions on Cluster Tables Cluster tables are subject to the following restrictions:\n\n\nObject tables and tables containing LOB columns cannot be part of a cluster.\n\n\nYou cannot specify CLUSTER with either ROWDEPENDENCIES ou NOROWDEPENDENCIES unless the cluster has been created with the same ROWDEPENDENCIES ou NOROWDEPENDENCIES réglage.\n\n\ntable_properties\nle table_properties    further define the characteristics of the table.\ncolumn_properties \nUtilisez le column_properties    clauses to specify the storage attributes of a column.\nobject_type_col_properties\nle object_type_col_properties    determine storage characteristics of an object column or attribute or of an element of a collection column or attribute.\ncolonne Pour colonne, specify an object column or attribute.\nsubstitutable_column_clause le substitutable_column_clause    indicates whether object columns or attributes in the same hierarchy are substitutable for each other. You can specify that a column is of a particular type, or whether it can contain instances of its subtypes, or both.\n\n\nIf you specify ÉLÉMENT, you constrain the element type of a collection column or attribute to a subtype of its declared type.\n\n\nle IS OF [TYPE] (ONLY type) clause constrains the type of the object column to a subtype of its declared type.\n\n\nNE PAS SUBSTITUTABLE À TOUT LEVELS indicates that the object column cannot hold instances corresponding to any of its subtypes. Also, substitution is disabled for any embedded object attributes and elements of embedded nested tables and varrays. The default is SUBSTITUTABLE À TOUT LEVELS.\n\n\nRestrictions on the substitutable_column_clause This clause is subject to the following restrictions:\n\n\nYou cannot specify this clause for an attribute of an object column. However, you can specify this clause for a object type column of a relational table and for an object column of an object table if the substitutability of the object table itself has not been set.\n\n\nFor a collection type column, the only part of this clause you can specify is [NOT] SUBSTITUTABLE À TOUT LEVELS.\n\n\nLOB_storage_clause\nle LOB_storage_clause    lets you specify the storage attributes of LOB data segments.\nFor a nonpartitioned table, this clause specifies the storage attributes of LOB data segments of the table.\nFor a partitioned table, Oracle Database implements this clause depending on where it is specified:\n\n\nFor a partitioned table specified at the table level&#8211;that is, when specified in the physical_properties    clause along with one of the partitioning clauses&#8211;this clause specifies the default storage attributes for LOB data segments associated with each partition or subpartition. These storage attributes apply to all partitions or subpartitions unless overridden by a LOB_storage_clause    at the partition or subpartition level.\n\n\nFor an individual partition of a partitioned table&#8211;that is, when specified as part of a table_partition_description&#8211;this clause specifies the storage attributes of the data segments of the partition or the default storage attributes of any subpartitions of the partition. A partition-level LOB_storage_clause    overrides a table-level LOB_storage_clause.\n\n\nFor an individual subpartition of a partitioned table&#8211;that is, when specified as part of subpartition_by_hash    ou subpartition_by_list&#8211;this clause specifies the storage attributes of the data segments of the subpartition. A subpartition-level LOB_storage_clause    overrides both partition-level and table-level LOB_storage_clauses.\n\n\nLOB_item\nSpecify the LOB column name or LOB object attribute for which you are explicitly defining tablespace and storage characteristics that are different from those of the table. Oracle Database automatically creates a system-managed index for each LOB_item    you create.\nLOB_segname\nSpecify the name of the LOB data segment. You cannot use LOB_segname    if you specify more than one LOB_item.\nLOB_parameters \nle LOB_parameters    clause lets you specify various elements of LOB storage.\nENABLE STORAGE IN ROW  If you enable storage in row, then the LOB value is stored in the row (inline) if its length is less than approximately 4000 bytes minus system control information. This is the default.\nRestriction on Enabling Storage in Row For an index-organized table, you cannot specify this parameter unless you have specified an OVERFLOW segment in the index_org_table_clause.\nDISABLE STORAGE IN ROW  If you disable storage in row, then the LOB value is stored outside of the row out of line regardless of the length of the LOB value.\nThe LOB locator is always stored inline regardless of where the LOB value is stored. You cannot change the value of ESPACE DE RANGEMENT DANS ROW once it is set except by moving the table. See the move_table_clause    dans le MODIFIER TABLE documentation for more information.\nCHUNK entier  Specify the number of bytes to be allocated for LOB manipulation. Si entier    is not a multiple of the database block size, then the database rounds up in bytes to the next multiple. For example, if the database block size is 2048 and entier    is 2050, then the database allocates 4096 bytes (2 blocks). The maximum value is 32768 (32K), which is the largest Oracle Database block size allowed. The default CHUNK size is one Oracle Database block.\nThe value of CHUNK must be less than or equal to the value of NEXT, either the default value or that specified in the storage_clause. Si CHUNK exceeds the value of NEXT, then the database returns an error.You cannot change the value of CHUNK once it is set.\nPCTVERSION entier  Specify the maximum percentage of overall LOB storage space used for maintaining old versions of the LOB. The default value is 10, meaning that older versions of the LOB data are not overwritten until they consume 10% of the overall LOB storage space.\nYou can specify the PCTVERSION parameter whether the database is running in manual or automatic undo mode. PCTVERSION is the default in manual undo mode. RETENTION is the default in automatic undo mode. You cannot specify both PCTVERSION et RETENTION.\nRETENTION  Use this clause to indicate that Oracle Database should retain old versions of this LOB column. Oracle Database uses the value of the UNDO_RETENTION initialization parameter to determine the amount of committed undo data to retain in the database.\nYou can specify the RETENTION parameter only if the database is running in automatic undo mode. In this mode, RETENTION is the default value unless you specify PCTVERSION. You cannot specify both PCTVERSION et RETENTION.\nFREEPOOLS entier  Specify the number of groups of free lists for the LOB segment. Normalement entier    will be the number of instances in a Real Application Clusters environment or 1 for a single-instance database.\nYou can specify this parameter only if the database is running in automatic undo mode. In this mode, FREEPOOLS is the default unless you specify the FREELIST GROUPS parameter of the storage_clause. If you specify neither FREEPOOLS nor FREELIST GROUPS, then the database uses a default of FREEPOOLS 1 if the database is in automatic undo management mode and a default of FREELIST GROUPS 1 if the database is in manual undo management mode.\nRestriction on FREEPOOLS You cannot specify both FREEPOOLS et le FREELIST GROUPS parameter of the storage_clause.\nvarray_col_properties \nle varray_col_properties    let you specify separate storage characteristics for the LOB in which a varray will be stored. Si varray_item    is a multilevel collection, then the database stores all collection items nested within varray_item    in the same LOB in which varray_item    is stored.\n\n\nFor a nonpartitioned table&#8211;that is, when specified in the physical_properties    clause without any of the partitioning clauses&#8211;this clause specifies the storage attributes of the LOB data segments of the varray.\n\n\nFor a partitioned table specified at the table level&#8211;that is, when specified in the physical_properties    clause along with one of the partitioning clauses&#8211;this clause specifies the default storage attributes for the varray LOB data segments associated with each partition (or its subpartitions, if any).\n\n\nFor an individual partition of a partitioned table&#8211;that is, when specified as part of a table_partition_description&#8211;this clause specifies the storage attributes of the varray LOB data segments of that partition or the default storage attributes of the varray LOB data segments of any subpartitions of this partition. A partition-level varray_col_properties    overrides a table-level varray_col_properties.\n\n\nFor an individual subpartition of a partitioned table&#8211;that is, when specified as part of subpartition_by_hash    ou subpartition_by_list&#8211;this clause specifies the storage attributes of the varray data segments of this subpartition. A subpartition-level varray_col_properties    overrides both partition-level and table-level varray_col_properties.\n\n\nSTORE AS LOB Clause If you specify STORE COMME LOB:\n\n\nIf the maximum varray size is less than 4000 bytes, then the database stores the varray as an inline LOB unless you have disabled storage in row.\n\n\nIf the maximum varray size is greater than 4000 bytes or if you have disabled storage in row, then the database stores in the varray as an out-of-line LOB.\n\n\nIf you do not specify STORE COMME LOB, then storage is based on the maximum possible size of the varray rather than on the actual size of a varray column. The maximum size of the varray is the number of elements times the element size, plus a small amount for system control information. If you omit this clause:\n\n\nIf the maximum size of the varray is less than 4000 bytes, then the database does not store the varray as a LOB, but as inline data.\n\n\nIf the maximum size is greater than 4000 bytes, then the database always stores the varray as a LOB.\n\n\nIf the actual size is less than 4000 bytes, it is stored as an inline LOB\n\n\nIf the actual size is greater than 4000 bytes, it is stored as an out-of-line LOB, as is true for other LOB columns.\n\n\n\n\nRestriction on Storing Varrays as LOBs You cannot specify the TABLESPACE parameter of LOB_parameters    as part of this clause. The LOB tablespace for a varray defaults to the tablespace of the containing table or table partition.\nsubstitutable_column_clause le substitutable_column_clause    has the same behavior as described for object_type_col_properties.\nnested_table_col_properties \nle nested_table_col_properties    let you specify separate storage characteristics for a nested table, which in turn enables you to define the nested table as an index-organized table. Unless you explicitly specify otherwise in this clause:\n\n\nFor a nonpartitioned table, the storage table is created in the same schema and the same tablespace as the parent table.\n\n\nFor a partitioned table, the storage table is created in the default tablespace of the schema.\n\n\nIn either case, the storage table uses default storage characteristics, and stores the nested table values of the column for which it was created.\n\n\nYou must include this clause when creating a table with columns or column attributes whose type is a nested table. Clauses within nested_table_col_properties    that function the same way they function for the parent table are not repeated here.\nnested_item Specify the name of a column, or of a top-level attribute of the object type of the tables, whose type is a nested table.\nCOLUMN_VALUE If the nested table is a multilevel collection, then the inner nested table or varray may not have a name. In this case, specify COLUMN_VALUE in place of the nested_item    name.\nstorage_table Specify the name of the table where the rows of nested_item    reside.\nYou cannot query or perform DML statements on storage_table    directly, but you can modify its storage characteristics by specifying its name in an MODIFIER TABLE déclaration.\nRestriction on the Storage Table You cannot partition the storage table of a nested table.\n\nVoir également:\nALTER TABLE for information about modifying nested table column storage characteristics\nRETURN AS Specify what Oracle Database returns as the result of a query.\n\n\nVALUE returns a copy of the nested table itself.\n\n\nLOCATOR returns a collection locator to the copy of the nested table.\nThe locator is scoped to the session and cannot be used across sessions. Unlike a LOB locator, the collection locator cannot be used to modify the collection instance.\n\n\nIf you do not specify the segment_attributes_clause    ou la LOB_storage_clause, then the nested table is heap organized and is created with default storage characteristics.\nRestrictions on Nested Table Column Properties Nested table column properties are subject to the following restrictions:\n\n\nYou cannot specify this clause for a temporary table.\n\n\nYou cannot specify the oid_clause.\n\n\nAt create time, you cannot use object_properties    to specify an out_of_line_ref_constraint, inline_ref_constraint, or foreign key constraint for the attributes of a nested table. However, you can modify a nested table to add such constraints using MODIFIER TABLE.\n\n\nXMLType_column_properties \nle XMLType_column_properties    let you specify storage attributes for an XMLTYPE column.\nXMLType_storage XMLType columns can be stored either in LOB or object-relational columns.\n\n\nSpecify STORE COMME OBJECT RELATIONAL if you want the database to store the XMLType data in object-relational columns. Storing data objects relationally lets you define indexes on the relational columns and enhances query performance.\nIf you specify object-relational storage, then you must also specify the XMLSchema_spec    clause.\n\n\nSpecify STORE COMME CLOB if you want the database to store the XMLType data in a CLOB column. Storing data in a CLOB column preserves the original content and enhances retrieval time.\nIf you specify LOB storage, then you can specify either LOB parameters or the XMLSchema_spec    clause, but not both. Specify the XMLSchema_spec    clause if you want to restrict the table or column to particular schema-based XML instances.\n\n\nXMLSchema_spec This clause lets you specify the URL of a registered XMLSchema, either in the XMLSCHEMA clause or as part of the ÉLÉMENT clause, and an XML element name. You must specify an element, although the XMLSchema URL is optional. If you do specify an XMLSchema URL, then you must already have registered the XMLSchema using the DBMS_XMLSCHEMA package.\ntable_partitioning_clauses \nUtilisez le table_partitioning_clauses    to create a partitioned table.\nRestrictions on Partitioning in General All partitioning is subject to the following restrictions:\nThe storage of partitioned database entities in tablespaces of different block sizes is subject to several restrictions. Please refer to Oracle Database Administrator&#39;s Guide for a discussion of these restrictions.\nrange_partitioning\nUtilisez le range_partitioning    clause to partition the table on ranges of values from the column list. For an index-organized table, the column list must be a subset of the primary key columns of the table.\ncolonne\nSpecify an ordered list of columns used to determine into which partition a row belongs. These columns are the partitioning key.\nRestriction on Partitioning Key Columns The columns in the column list can be of any built-in datatype except ROWID, LONG, LOB, ou TIMESTAMP AVEC TEMPS ZONE. However, columns of TIMESTAMP ou TIMESTAMP AVEC LOCAL TEMPS ZONE can be used in the partitioning key.\nPARTITION cloison \nThe name cloison    must conform to the rules for naming schema objects and their part as described in &quot;Schema Object Naming Rules&quot;. If you omit cloison, then the database generates a name with the form SYS_Pn.\n\n\nYou can specify up to a total of 1024K-1 partitions and subpartitions. For a discussion of factors that might impose practical limits less than this number, please refer to Oracle Database Administrator&#39;s Guide.\n\n\nYou can create a partitioned table with just one partition. However, this is different from a nonpartitioned table. For instance, you cannot add a partition to a nonpartitioned table.\n\n\nrange_values_clause \nSpecify the noninclusive upper bound for the current partition. The value list is an ordered list of literal values corresponding to the column list in the range_partitioning    clause. You can substitute the keyword MAXVALUE for any literal in in the value list. MAXVALUE specifies a maximum value that will always sort higher than any other value, including null.\nSpecifying a value other than MAXVALUE for the highest partition bound imposes an implicit integrity constraint on the table.\n\nRemarque:\nSi table    is partitioned on a DATE column, and if the date format does not specify the first two digits of the year, then you must use the TO_DATE function with the YYYY 4-character format mask for the year. le RRRR format mask is not supported in this clause. The date format is determined implicitly by NLS_TERRITORY or explicitly by NLS_DATE_FORMAT. Please refer to Oracle Database Globalization Support Guide for more information on these initialization parameters.\ntable_partition_description\nUtilisez le table_partition_description    to define the physical and storage characteristics of the table.\nle segment_attributes_clause    et table_compression    clause have the same function as described for the table_properties    of the table as a whole.\nle key_compression    clause and OVERFLOW clause have the same function as described for the index_org_table_clause .\nLOB_storage_clause le LOB_storage_clause    lets you specify LOB storage characteristics for one or more LOB items in this partition or in any list subpartitions of this partition. If you do not specify the LOB_storage_clause    for a LOB item, then the database generates a name for each LOB data partition. The system-generated names for LOB data and LOB index partitions take the form SYS_LOB_Pn    et SYS_IL_Pn, respectivement. The corresponding system-generated names for LOB data and index subpartitions are SYS_LOB_SUBPn    et SYS_IL_SUBPn, respectively\nvarray_col_properties le varray_col_properties    let you specify storage characteristics for one or more varray items in this partition or in any list subpartitions of this partition.\nRestriction on table_partition_description le partition_level_subpartition    clause is valid only for composite-partitioned tables. See partition_level_subpartition.\nhash_partitioning \nUtilisez le hash_partitioning    clause to specify that the table is to be partitioned using the hash method.\nOracle Database assigns rows to partitions using a hash function on values found in columns designated as the partitioning key. You can specify individual hash partitions or you can specify how many subpartitions the database should create.\ncolonne Specify an ordered list of columns used to determine into which partition a row belongs (the partitioning key).\nindividual_hash_partitions   Use this clause to specify individual partitions by name. If you omit the partition name, then the database assigns partition names of the form SYS_Pn.\nRestriction on Specifying Individual Hash Partitions The only clause you can specify in the partitioning_storage_clause    est le TABLESPACE clause.\n\nRemarque:\nIf your enterprise has or will have databases using different character sets, use caution when partitioning on character columns. The sort sequence of characters is not identical in all character sets. Please refer to Oracle Database Globalization Support Guide for more information on character set support.\nhash_partitions_by_quantity   Alternatively, you can specify the number of partitions. In this case, the database assigns partition names of the form SYS_Pn. le STORE DANS clause specifies one or more tablespaces where the hash partitions are to be stored. The number of tablespaces does not have to equal the number of partitions. If the number of partitions is greater than the number of tablespaces, then the database cycles through the names of the tablespaces.\nFor both methods of hash partitioning, for optimal load balancing you should specify a number of partitions that is a power of 2. Also for both methods of hash partitioning, the only attribute you can specify for hash partitions is TABLESPACE. Hash partitions inherit all other attributes from table-level defaults.\nTablespace storage specified at the table level is overridden by tablespace storage specified at the partition level, which in turn is overridden by tablespace storage specified at the subpartition level.\ndans le individual_hash_partitions    clause, the TABLESPACE clause of the partitioning_storage_clause    determines tablespace storage only for the individual partition being created. dans le hash_partitions_by_quantity    clause, the STORE DANS clause determines placement of partitions as the table is being created and the default storage location for subsequently added partitions.\nRestrictions on Hash Partitioning Hash partitioning is subject to the following restrictions:\n\n\nYou cannot specify more than 16 partitioning columns.\n\n\nThe column list cannot contain the ROWID ou UROWID pseudocolumns.\n\n\nThe column list can be of any built-in datatype except ROWID, LONG, or LOB.\n\n\nlist_partitioning \nUtilisez le list_partitioning    clause to partition the table on lists of literal values from colonne. List partitioning is useful for controlling how individual rows map to specific partitions.\nIf you omit the partition name, then the database assigns partition names of the form SYS_Pn.\nlist_values_clause le list_values_clause    of each partition must have at least one value. No value, including NULL, can appear in more than one partition. List partitions are not ordered.\nIf you specify the literal NULL for a partition value in the VALUES clause, then to access data in that partition in subsequent queries, you must use an IS NULL condition in the OÙ clause, rather than a comparison condition.\nle DEFAULT keyword creates a partition into which the database will insert any row that does not map to another partition. Therefore, you can specify DEFAULT for only one partition, and you cannot specify any other values for that partition. Further, the default partition must be the last partition you define. The use of DEFAULT is similar to the use of MAXVALUE for range partitions.\nThe string comprising the list of values for each partition can be up to 4K bytes. The total number of values for all partitions cannot exceed 64K-1.\nRestrictions on List Partitioning List partitioning is subject to the following restrictions:\n\n\nYou cannot subpartition a list partition.\n\n\nYou can specify only one partitioning key in column_list, and it cannot be a LOB column.\n\n\nIf the partitioning key is an object type column, then you can partition on only one attribute of the column type.\n\n\nEach value in the list_values_clause    must be unique among all partitions of table.\n\n\ncomposite_partitioning \nUtilisez le composite_partitioning    clause to first partition table    by range, and then partition the partitions further into hash or list subpartitions. This combination of range partitioning and hash or list subpartitioning is called composite partitioning.\nAfter establishing the type of subpartitioning you want for each composite partition, using the subpartition_by_hash    ou subpartition_by_list    clause, you must define each of the range partitions.\n\n\nYou must specify the range_values_clause    , which has the same requirements as for noncomposite range partitions.\n\n\nUtilisez le table_partition_description    to define the physical and storage characteristics of the each partition. Within the table_partition_description, you can use the partition_level_subpartition    clause to define the properties of individual subpartitions.\n\n\nIf you omit the partition name, then the database generates a name with the form SYS_Pn.\n\n\nThe only characteristic you can specify for a hash or list subpartition or a LOB subpartition is TABLESPACE.\n\n\nRestriction on Composite Partitioning You cannot specify composite partitioning for an index-organized table. Therefore, the OVERFLOW clause of the table_partition_description    is not valid for composite-partitioned tables.\nsubpartition_template le subpartition_template    is an optional element of both range-hash and range-list composite partitioning. The template lets you define default subpartitions for each table partition. Oracle Database will create these default subpartitions in any partition for which you do not explicitly define subpartitions. This clause is useful for creating symmetric partitions. You can override this clause by explicitly defining subpartitions at the partition level, in the partition_level_subpartition    clause.\nWhen defining subpartitions with a template, you must specify a name for each subpartition.\n\nRemarque:\nWhen you specify tablespace storage for the subpartition template, it does not override any tablespace storage you have specified explicitly for the partitions of table. To specify tablespace storage for subpartitions, do one of these things:\n\n\nOmit tablespace storage at the partition level and specify tablespace storage in the subpartition template.\n\n\nDefine individual subpartitions with specific tablespace storage.\n\n\n\nRestrictions on Subpartition Templates Subpartition templates are subject to the following restrictions:\n\n\nFor a range-hash composite-partitioned table, you cannot specify the list_values_clause.\n\n\nFor a range-list composite-partitioned table, you cannot specify the hash_subpartition_quantity    clause.\n\n\nFor both range-hash and range-list partitioned tables, the only clause of the partitioning_storage_clause    you can specify for subpartitions is the TABLESPACE clause.\n\n\nIf you specify TABLESPACE for one subpartition, then you must specify TABLESPACE for all subpartitions. You can specify the same tablespace for more than one subpartition.\n\n\nIf you specify TABLESPACE for one LOB subpartition, then you must specify TABLESPACE for all of the LOB subpartitions of that LOB column. You can specify the same tablespace for more than one LOB subpartition.\n\n\nIf you specify separate LOB storage for list subpartitions using the partitioning_storage_clause, either in the subpartition_template    or when defining individual subpartitions, then you must specify LOB_segname    for both LOB and varray columns.\n\n\nsubpartition_by_hash\nUtilisez le subpartition_by_hash    clause to indicate that the database should subpartition by hash each partition in table. The subpartitioning column list is unrelated to the partitioning key but is subject to the same restrictions (see colonne).\nYou can define the subpartitions using the subpartition_template    ou la SUBPARTITIONS quantité    clause. See subpartition_template. In either case, for optimal load balancing you should specify a number of partitions that is a power of 2.\nSUBPARTITIONS quantité Specify the default number of subpartitions in each partition of table, and optionally one or more tablespaces in which they are to be stored.\nThe default value is 1. If you omit both this clause and subpartition_template, then the database will create each partition with one hash subpartition unless you subsequently specify the partition_level_subpartition    clause.\nRestriction on Hash Subpartitioning In addition to the restrictions for composite partitioning in general (see composite_partitioning ), for hash subpartitioning in subpartition_template, you cannot specify the list_values_clause.\nsubpartition_by_list \nUtilisez le subpartition_by_list    clause to indicate that the database should subpartition each partition in table    by literal values from colonne.\nIf you omit subpartition_template, then you can define list subpartitions individually for each partition using the partition_level_subpartition    clause of table_partition_description. If you omit both subpartition_template    et partition_level_subpartition, then the database creates a single DEFAULT subpartition.\nRestrictions on List Subpartitioning List subpartitioning is subject to the following restrictions:\nIn addition to the restrictions for composite partitioning in general (see composite_partitioning ), for list subpartitioning:\n\n\nYou can specify only one subpartitioning key column.\n\n\nYou must specify the list_values_clause, which is subject to the same requirements as at the table level.\n\n\ndans le subpartition_template, you cannot specify the hash_subpartition_quantity    clause.\n\n\npartition_level_subpartition\nThis clause of the table_partition_description    is valid only for composite-partitioned tables. This clause lets you specify hash or list subpartitions for cloison. This clause overrides the default settings established for range-hash composite partitions in the subpartition_by_hash    clause or for range-hash or range-list composite partitions in the subpartition_template.\nNotes on Composite Partitions The following notes apply to composite partitions:\n\n\nYou can specify the number of subpartitions and optionally one or more tablespaces where they are to be stored. In this case, Oracle Database assigns subpartition names of the form SYS_SUBPn. The number of tablespaces does not have to equal the number of subpartitions. If the number of partitions is greater than the number of tablespaces, then the database cycles through the names of the tablespaces.\n\n\nAlternatively, you can use the subpartition_spec    to specify individual subpartitions by name, and optionally the tablespace where each should be stored.\n\n\nIf you omit partition_level_subpartition    and if you have created a subpartition template, then the database uses the template to create subpartitions. If you have not created a subpartition template, then the database creates one hash subpartition or one DEFAULT list subpartition.\n\n\nIf you omit partition_level_subpartition    entirely, then the database assigns subpartition names as follows:\n\n\nIf you have specified a subpartition template et you have specified partition names, then the database generates subpartition names of the form partition_name    underscore (_) subpartition_name    (for example, P1_SUB1).\n\n\nIf you have not specified a subpartition template ou if you have specified a subpartition template but did not specify partition names, then the database generates subpartition names of the form SYS_SUBPn.\n\n\n\n\nDans partition_spec, the only clause of the partitioning_storage_clause    you can specify is the TABLESPACE clause.\n\n\nFor range-hash composite partitions, the list_values_clause    de subpartition_spec    is not relevant and is invalid.\nFor range-list composite partitions:\n\n\nle hash_subpartition_quantity    is not relevant, so you specify subpartition_spec.\n\n\nWithin subpartition_spec, you must specify the list_values_clause    for each subpartition, and the values you specify for each subpartition cannot exist in any other subpartition of the same partition.\n\n\nCACHE | NOCACHE | CACHE READS\nUtilisez le CACHE clauses to indicate how Oracle Database should store blocks in the buffer cache. If you specify neither CACHE nor NOCACHE, then:\n\n\nDans un CREATE TABLE statement, NOCACHE is the default\n\n\nDans un MODIFIER TABLE statement, the existing value is not changed.\n\n\nCACHE For data that is accessed frequently, this clause indicates that the blocks retrieved for this table are placed at the most recently used end of the least recently used (LRU) list in the buffer cache when a full table scan is performed. This attribute is useful for small lookup tables.\nAs a parameter in the LOB_storage_clause, CACHE specifies that the database places LOB data values in the buffer cache for faster access.\nRestriction on CACHE You cannot specify CACHE for an index-organized table. However, index-organized tables implicitly provide CACHE behavior.\nNOCACHE For data that is not accessed frequently, this clause indicates that the blocks retrieved for this table are placed at the least recently used end of the LRU list in the buffer cache when a full table scan is performed. NOCACHE is the default for LOB storage.\nAs a parameter in the LOB_storage_clause, NOCACHE specifies that the LOB value either is not brought into the buffer cache or is brought into the buffer cache and placed at the least recently used end of the LRU list. The latter is the default behavior.\nRestriction on NOCACHE You cannot specify NOCACHE for an index-organized table.\nCACHE READS CACHE READS applies only to LOB storage. It specifies that LOB values are brought into the buffer cache only during read operations but not during write operations.\n\nVoir également:\nlogging_clause    for a description of the logging_clause    when specified as part of LOB_parameters\nparallel_clause \nle parallel_clause    lets you parallelize creation of the table and set the default degree of parallelism for queries and the DML INSÉRER, UPDATE, DELETE, et MERGE after table creation.\n\nRemarque:\nThe syntax of the parallel_clause    supersedes syntax appearing in earlier releases of Oracle. Superseded syntax is still supported for backward compatibility but may result in slightly different behavior from that documented.\nNOPARALLEL Specify NOPARALLEL for serial execution. This is the default.\nPARALLEL  Specify PARALLEL if you want Oracle to select a degree of parallelism equal to the number of CPUs available on all participating instances times the value of the PARALLEL_THREADS_PER_CPU initialization parameter.\nPARALLEL entier Specification of entier    indicates the degree of parallelism, which is the number of parallel threads used in the parallel operation. Each parallel thread may use one or two parallel execution servers. Normally Oracle calculates the optimum degree of parallelism, so it is not necessary for you to specify entier.\nNOROWDEPENDENCIES | ROWDEPENDENCIES \nThis clause lets you specify whether table    will use row-level dependency tracking. With this feature, each row in the table has a system change number (SCN) that represents a time greater than or equal to the commit time of the last transaction that modified the row. You cannot change this setting after table    is created.\nROWDEPENDENCIES Specify ROWDEPENDENCIES if you want to enable row-level dependency tracking. This setting is useful primarily to allow for parallel propagation in replication environments. It increases the size of each row by 6 bytes.\nNOROWDEPENDENCIES Specify NOROWDEPENDENCIES if you do not want table    to use the row-level dependency tracking feature. This is the default.\nMONITORING | NOMONITORING \nIn earlier releases, you could use these clauses to start or stop the collection of modification statistics on this table. These clauses have been deprecated.\n\n\nIf you formerly collected modification statistics on tables by using the DBMS_STATS package in GATHER AUTO ou GATHER STALE mode, then you no longer have to do anything. Oracle Database now collects these statistics automatically, and the MONITORING et NOMONITORING keywords in existing code will not cause an error.\n\n\nIf, for performance reasons, you do not want to collect modification statistics on any tables, then you should set the STATISTICS_LEVEL initialization parameter to BASIC. Be aware, however, that doing so disables a number of manageability features.\n\n\n\nVoir également:\nOracle Database Reference for information on the STATISTICS_LEVEL initialization parameter, including its affect on Oracle Database manageability features\nenable_disable_clause \nle enable_disable_clause    lets you specify whether Oracle Database should apply a constraint. By default, constraints are created in ENABLE VALIDATE Etat.\nRestrictions on Enabling and Disabling Constraints Enabling and disabling constraints are subject to the following restrictions:\n\n\nTo enable or disable any integrity constraint, you must have defined the constraint in this or a previous statement.\n\n\nYou cannot enable a foreign key constraint unless the referenced unique or primary key constraint is already enabled.\n\n\nENABLE Clause Use this clause if you want the constraint to be applied to the data in the table. This clause is described fully in &quot;ENABLE Clause&quot; in the documentation on constraints.\nDISABLE Clause Use this clause if you want to disable the integrity constraint. This clause is described fully in &quot;DISABLE Clause&quot; in the documentation on constraints.\nUNIQUE  le UNIQUE clause lets you enable or disable the unique constraint defined on the specified column or combination of columns.\nPRIMARY KEY  le PRIMARY KEY clause lets you enable or disable the primary key constraint defined on the table.\nCONSTRAINT  le CONSTRAINT clause lets you enable or disable the integrity constraint named constraint.\nKEEP | DROP INDEX This clause lets you either preserve or drop the index Oracle Database has been using to enforce a unique or primary key constraint.\nRestriction on Preserving and Dropping Indexes You can specify this clause only when disabling a unique or primary key constraint.\nusing_index_clause  le using_index_clause    lets you specify an index for Oracle Database to use to enforce a unique or primary key constraint, or lets you instruct the database to create the index used to enforce the constraint. This clause is discussed fully in using_index_clause    in the documentation on constraints.\nCASCADE  Specify CASCADE to disable any integrity constraints that depend on the specified integrity constraint. To disable a primary or unique key that is part of a referential integrity constraint, you must specify this clause.\nRestriction on CASCADE You can specify CASCADE only if you have specified DISABLE.\nrow_movement_clause \nle row_movement_clause    lets you specify whether the database can move a table row. It is possible for a row to move, for example, during table compression or an update operation on partitioned data.\n\nCaution:\nIf you need static rowids for data access, do not enable row movement. For a normal (heap-organized) table, moving a row changes the rowid of the row. For a moved row in an index-organized table, the logical rowid remains valid, although the physical guess component of the logical rowid becomes inaccurate.\n\n\nSpecify ENABLE to allow the database to move a row, thus changing the rowid.\n\n\nSpecify DISABLE if you want to prevent the database from moving a row, thus preventing a change of rowid.\n\n\nIf you omit this clause, then the database disables row movement.\nRestriction on Row Movement You cannot specify this clause for a nonpartitioned index-organized table.\nCOMME subquery \nSpecify a subquery to determine the contents of the table. The rows returned by the subquery are inserted into the table upon its creation.\nFor object tables, subquery    can contain either one expression corresponding to the table type, or the number of top-level attributes of the table type. Please refer to SELECT for more information.\nSi subquery    returns the equivalent of part or all of an existing materialized view, then the database may rewrite the query to use the materialized view in place of one or more tables specified in subquery.\nOracle Database derives datatypes and lengths from the subquery. Oracle Database follows the following rules for integrity constraints and other column and table attributes:\n\n\nOracle Database automatically defines on columns in the new table any NE PAS NULL constraints that were explicitly created on the corresponding columns of the selected table if the subquery selects the column rather than an expression containing the column. If any rows violate the constraint, then the database does not create the table and returns an error.\n\n\nNE PAS NULL constraints that were implicitly created by Oracle Database on columns of the selected table (for example, for primary keys) are not carried over to the new table.\n\n\nIn addition, primary keys, unique keys, foreign keys, check constraints, partitioning criteria, indexes, and column default values are not carried over to the new table.\n\n\nIf the selected table is partitioned, you can choose whether the new table will be partitioned the same way, partitioned differently, or not partitioned. Partitioning is not carried over to the new table. Specify any desired partitioning as part of the CREATE TABLE statement before the COMME subquery    clause.\n\n\nIf all expressions in subquery    are columns, rather than expressions, then you can omit the columns from the table definition entirely. In this case, the names of the columns of table are the same as the columns in subquery.\nYou can use subquery    in combination with the TO_LOB function to convert the values in a LONG column in another table to LOB values in a column of the table you are creating.\nparallel_clause If you specify the parallel_clause    in this statement, then the database will ignore any value you specify for the INITIAL storage parameter and will instead use the value of the NEXT parameter.\nORDER BY le ORDER PAR clause lets you order rows returned by the subquery.\nWhen specified with CREATE TABLE, this clause does not necessarily order data across the entire table. For example, it does not order across partitions. Specify this clause if you intend to create an index on the same key as the ORDER PAR key column. Oracle Database will cluster data on the ORDER PAR key so that it corresponds to the index key.\nRestrictions on the Defining Query of a Table The table query is subject to the following restrictions:\n\n\nThe number of columns in the table must equal the number of expressions in the subquery.\n\n\nThe column definitions can specify only column names, default values, and integrity constraints, not datatypes.\n\n\nYou cannot define a foreign key constraint in a CREATE TABLE statement that contains COMME subquery. Instead, you must create the table without the constraint and then add it later with an MODIFIER TABLE déclaration.\n\n\nobject_table \nle OF clause lets you explicitly create an object table of type object_type. The columns of an object table correspond to the top-level attributes of type object_type. Each row will contain an object instance, and each instance will be assigned a unique, system-generated object identifier when a row is inserted. If you omit schema, then the database creates the object table in your own schema.\nObject tables, as well as XMLType tables, object views, and XMLType views, do not have any column names specified for them. Therefore, Oracle defines a system-generated pseudocolumn OBJECT_ID. You can use this column name in queries and to create object views with the AVEC OBJECT IDENTIFIER clause.\nobject_table_substitution \nUtilisez le object_table_substitution    clause to specify whether row objects corresponding to subtypes can be inserted into this object table.\nNOT SUBSTITUTABLE AT ALL LEVELS NE PAS SUBSTITUTABLE À TOUT LEVELS indicates that the object table being created is not substitutable. In addition, substitution is disabled for all embedded object attributes and elements of embedded nested tables and arrays. The default is SUBSTITUTABLE À TOUT LEVELS.\nobject_properties\nThe properties of object tables are essentially the same as those of relational tables. However, instead of specifying columns, you specify attributes of the object.\nPour attribute, specify the qualified column name of an item in an object.\noid_clause\nle oid_clause    lets you specify whether the object identifier of the object table should be system generated or should be based on the primary key of the table. The default is SYSTEM GENERATED.\nRestrictions on the oid_clause This clause is subject to the following restrictions:\n\n\nYou cannot specify OBJECT IDENTIFIER IS PRIMARY KEY unless you have already specified a PRIMARY KEY constraint for the table.\n\n\nYou cannot specify this clause for a nested table.\n\n\n\nRemarque:\nA primary key object identifier is locally unique but not necessarily globally unique. If you require a globally unique identifier, then you must ensure that the primary key is globally unique.\noid_index_clause\nThis clause is relevant only if you have specified the oid_clause    comme SYSTEM GENERATED. It specifies an index, and optionally its storage characteristics, on the hidden object identifier column.\nPour indice, specify the name of the index on the hidden system-generated object identifier column. If you omit indice, then the database generates a name.\nphysical_properties et table_properties\nThe semantics of these clauses are documented in the corresponding sections under relational tables. See physical_properties    et table_properties.\nXMLType_table \nUtilisez le XMLType_table    syntax to create a table of datatype XMLType. Most of the clauses used to create an XMLType table have the same semantics that exist for object tables. The clauses specific to XMLType tables are described in this section.\nObject tables, as well as XMLType tables, object views, and XMLType views, do not have any column names specified for them. Therefore, Oracle defines a system-generated pseudocolumn OBJECT_ID. You can use this column name in queries and to create object views with the AVEC OBJECT IDENTIFIER clause.\nXMLType_storage\nThis clause lets you determine how Oracle Database manages the storage of the underlying columns.\nOBJECT RELATIONAL Specify OBJECT RELATIONAL if you want the database to store the XMLType data in object relational columns. If you specify OBJECT RELATIONAL, then you must also specify an XMLSchema in the XMLSchema_storage_clause, and you must already have registered the schema using the DBMS_XMLSCHEMA package. Oracle Database will create the table conforming to the registered schema.\nCLOB Specify CLOB if you want the database to store the XML data in a CLOB column. If you specify CLOB, then you may also specify either a LOB segment name, or the LOB_parameters    clause, or both.\nXMLSchema_spec\nThis clause lets you specify the URL of a registered XMLSchema, either in the XMLSCHEMA clause or as part of the ÉLÉMENT clause, and an XML element name. You must specify an element, although the XMLSchema URL is optional. If you do specify an XMLSchema URL, then you must already have registered the XMLSchema using the DBMS_XMLSCHEMA package.\nExemples \nGeneral Examples\nThis statement shows how the employees table owned by the sample human resources (hr) schema was created. A hypothetical name is given to the table and constraints so that you can duplicate this example in your test database:\n\n\n\n\nCREATE TABLE employees_demo\n    ( employee_id    NUMBER(6)\n    , first_name     VARCHAR2(20)\n    , last_name      VARCHAR2(25) \n         CONSTRAINT emp_last_name_nn_demo NOT NULL\n    , email          VARCHAR2(25) \n         CONSTRAINT emp_email_nn_demo     NOT NULL\n    , phone_number   VARCHAR2(20)\n    , hire_date      DATE  DEFAULT SYSDATE \n         CONSTRAINT emp_hire_date_nn_demo  NOT NULL\n    , job_id         VARCHAR2(10)\n       CONSTRAINT     emp_job_nn_demo  NOT NULL\n    , salary         NUMBER(8,2)\n       CONSTRAINT     emp_salary_nn_demo  NOT NULL\n    , commission_pct NUMBER(2,2)\n    , manager_id     NUMBER(6)\n    , department_id  NUMBER(4)\n    , dn             VARCHAR2(300)\n    , CONSTRAINT     emp_salary_min_demo\n                     CHECK (salary &gt; 0) \n    , CONSTRAINT     emp_email_uk_demo\n                     UNIQUE (email)\n    ) ;\n\n\nThis table contains twelve columns. le employee_id column is of datatype NUMBER. le hire_date column is of datatype DATE and has a default value of SYSDATE. le last_name column is of type VARCHAR2 and has a NE PAS NULL constraint, and so on.\nStorage Example To define the same employees_demo table in the example tablespace with a small storage capacity and limited allocation potential, issue the following statement:\n\n\n\n\nCREATE TABLE employees_demo\n    ( employee_id    NUMBER(6)\n    , first_name     VARCHAR2(20)\n    , last_name      VARCHAR2(25) \n         CONSTRAINT emp_last_name_nn_demo NOT NULL\n    , email          VARCHAR2(25) \n         CONSTRAINT emp_email_nn_demo     NOT NULL\n    , phone_number   VARCHAR2(20)\n    , hire_date      DATE  DEFAULT SYSDATE \n         CONSTRAINT emp_hire_date_nn_demo  NOT NULL\n    , job_id         VARCHAR2(10)\n       CONSTRAINT     emp_job_nn_demo  NOT NULL\n    , salary         NUMBER(8,2)\n       CONSTRAINT     emp_salary_nn_demo  NOT NULL\n    , commission_pct NUMBER(2,2)\n    , manager_id     NUMBER(6)\n    , department_id  NUMBER(4)\n    , dn             VARCHAR2(300)\n    , CONSTRAINT     emp_salary_min_demo\n                     CHECK (salary &gt; 0) \n    , CONSTRAINT     emp_email_uk_demo\n                     UNIQUE (email)\n    )\n   TABLESPACE example \n   STORAGE (INITIAL     6144  \n            NEXT        6144 \n            MINEXTENTS     1  \n            MAXEXTENTS     5 ); \n\nTemporary Table Example The following statement creates a temporary table today_sales for use by sales representatives in the sample database. Each sales representative session can store its own sales data for the day in the table. The temporary data is deleted at the end of the session.\n\n\n\n\nCREATE GLOBAL TEMPORARY TABLE today_sales\n   ON COMMIT PRESERVE ROWS \n   AS SELECT * FROM orders WHERE order_date = SYSDATE;\n\nSubstitutable Table and Column Examples The following statement creates a substitutable table from the person_t type, which was created in &quot;Type Hierarchy Example&quot;:\n\n\n\n\nCREATE TABLE persons OF person_t;\n\n\nThe following statement creates a table with a substitutable column of type person_t:\n\n\n\n\nCREATE TABLE books (title VARCHAR2(100), author person_t);\n\n\nWhen you insert into persons ou books, you can specify values for the attributes of person_t or any of its subtypes. Examples of insert statements appear in &quot;Inserting into a Substitutable Tables and Columns: Examples&quot;.\nYou can extract data from such tables using built-in functions and conditions. For examples, see the functions TREAT and SYS_TYPEID, and the &quot;IS OF type Condition&quot; condition.\nPARALLEL Example The following statement creates a table using an optimum number of parallel execution servers to scan employees and to populate dept_80:\n\n\n\n\nCREATE TABLE dept_80\n   PARALLEL\n   AS SELECT * FROM employees\n   WHERE department_id = 80;\n\n\nUsing parallelism speeds up the creation of the table, because the database uses parallel execution servers to create the table. After the table is created, querying the table is also faster, because the same degree of parallelism is used to access the table.\nNOPARALLEL Example The following statement creates the same table serially. Subsequent DML and queries on the table will also be serially executed.\n\n\n\n\nCREATE TABLE dept_80\n   AS SELECT * FROM employees\n   WHERE department_id = 80;\n\nENABLE VALIDATE Example The following statement shows how the sample table departments was created. The example defines a NE PAS NULL constraint, and places it in ENABLE VALIDATE Etat. A hypothetical name is given to the table so that you can duplicate this example in your test database:\n\n\n\n\nCREATE TABLE departments_demo\n    ( department_id    NUMBER(4)\n    , department_name  VARCHAR2(30)\n           CONSTRAINT  dept_name_nn  NOT NULL\n    , manager_id       NUMBER(6)\n    , location_id      NUMBER(4)\n    , dn               VARCHAR2(300)\n    ) ;\n\nDISABLE Example The following statement creates the same departments_demo table but also defines a disabled primary key constraint:\n\n\n\n\nCREATE TABLE departments_demo\n    ( department_id    NUMBER(4)   PRIMARY KEY DISABLE\n    , department_name  VARCHAR2(30)\n           CONSTRAINT  dept_name_nn  NOT NULL\n    , manager_id       NUMBER(6)\n    , location_id      NUMBER(4)\n    , dn               VARCHAR2(300)\n    ) ;\n\nNested Table Example The following statement shows how the sample table pm.print_media was created with a nested table column ad_textdocs_ntab:\n\n\n\n\nCREATE TABLE print_media\n    ( product_id        NUMBER(6)\n    , ad_id             NUMBER(6)\n    , ad_composite      BLOB\n    , ad_sourcetext     CLOB\n    , ad_finaltext      CLOB\n    , ad_fltextn        NCLOB\n    , ad_textdocs_ntab  textdoc_tab\n    , ad_photo          BLOB\n    , ad_graphic        BFILE\n    , ad_header         adheader_typ\n    ) NESTED TABLE ad_textdocs_ntab STORE AS textdocs_nestedtab;\n\nMulti-level Collection Example The following example shows how an account manager might create a table of customers using two levels of nested tables:\n\n\n\n\nCREATE TYPE phone AS OBJECT (telephone NUMBER);\n/\nCREATE TYPE phone_list AS TABLE OF phone;\n/\nCREATE TYPE my_customers AS OBJECT (\n   cust_name VARCHAR2(25),\n   phones phone_list);\n/\nCREATE TYPE customer_list AS TABLE OF my_customers;\n/\nCREATE TABLE business_contacts (\n   company_name VARCHAR2(25),\n   company_reps customer_list)\n   NESTED TABLE company_reps STORE AS outer_ntab\n   (NESTED TABLE phones STORE AS inner_ntab);\n\n\nThe following variation of this example shows how to use the COLUMN_VALUE keyword if the inner nested table has no column or attribute name:\n\n\n\n\nCREATE TYPE phone AS TABLE OF NUMBER;    \n/\nCREATE TYPE phone_list AS TABLE OF phone;\n/\nCREATE TABLE my_customers (\n   name VARCHAR2(25),\n   phone_numbers phone_list)\n   NESTED TABLE phone_numbers STORE AS outer_ntab\n   (NESTED TABLE COLUMN_VALUE STORE AS inner_ntab);\n\nLOB Column Example The following statement is a variation of the statement that created the pm.print_media table with some added LOB storage characteristics:\n\n\n\n\nCREATE TABLE print_media_new\n    ( product_id        NUMBER(6)\n    , ad_id             NUMBER(6)\n    , ad_composite      BLOB\n    , ad_sourcetext     CLOB\n    , ad_finaltext      CLOB\n    , ad_fltextn        NCLOB\n    , ad_textdocs_ntab  textdoc_tab\n    , ad_photo          BLOB\n    , ad_graphic        BFILE\n    , ad_header         adheader_typ\n    , press_release     LONG\n    ) NESTED TABLE ad_textdocs_ntab STORE AS textdocs_nestedtab_new\n    LOB (ad_sourcetext, ad_finaltext) STORE AS\n      (TABLESPACE example\n       STORAGE (INITIAL 6144 NEXT 6144)\n       CHUNK 4000\n       NOCACHE LOGGING);\n\n\nIn the example, the database rounds the value of CHUNK up to 4096 (the nearest multiple of the block size of 2048).\nIndex-Organized Table Example The following statement is a variation of the sample table hr.countries, which is index organized:\n\n\n\n\nCREATE TABLE countries_demo\n    ( country_id      CHAR(2)\n      CONSTRAINT country_id_nn_demo NOT NULL\n    , country_name    VARCHAR2(40)\n    , currency_name   VARCHAR2(25)\n    , currency_symbol VARCHAR2(3)\n    , region          VARCHAR2(15)\n    , CONSTRAINT    country_c_id_pk_demo\n                    PRIMARY KEY (country_id ) )\n    ORGANIZATION INDEX \n    INCLUDING   country_name \n    PCTTHRESHOLD 2 \n    ESPACE DE RANGEMENT\n     ( INITIAL  4K \n      NEXT  2K \n      PCTINCREASE 0 \n      MINEXTENTS 1 \n      MAXEXTENTS 1 ) \n   OVERFLOW \n    ESPACE DE RANGEMENT\n      ( INITIAL  4K \n        NEXT  2K \n        PCTINCREASE 0 \n        MINEXTENTS 1 \n        MAXEXTENTS 1 ); \n\nExternal Table Example The following statement creates an external table that represents a subset of the sample table hr.departments. le opaque_format_spec    is shown in italics. Please refer to Oracle Database Utilities for information on the ORACLE_LOADER access driver and how to specify values for the opaque_format_spec.\n\n\n\n\nCREATE TABLE dept_external (\n   deptno     NUMBER(6),\n   dname      VARCHAR2(20),\n   loc        VARCHAR2(25) \n)\nORGANIZATION EXTERNAL\n(TYPE oracle_loader\n DEFAULT DIRECTORY admin\n ACCESS PARAMETERS\n (\n  RECORDS DELIMITED BY newline\n        BADFILE &#39;ulcase1.bad&#39;\n        DISCARDFILE &#39;ulcase1.dis&#39;\n        LOGFILE &#39;ulcase1.log&#39;\n        SKIP 20\n        FIELDS TERMINATED BY &quot;,&quot;  OPTIONALLY ENCLOSED BY &#39;&quot;&#39;\n        (\n            deptno     INTEGER EXTERNAL(6),\n            dname      CHAR(20),\n            loc        CHAR(25)\n  )\n )\n LOCATION (&#39;ulcase1.ctl&#39;)\n)\nREJECT LIMIT UNLIMITED;\n\nXMLType Examples\nThis section contains brief examples of creating an XMLType table or XMLType column. For a more expanded version of these examples, please refer to &quot;Using XML in SQL Statements&quot;.\nXMLType Table Examples The following example creates a very simple XMLType table with one implicit CLOB column:\n\n\n\n\nCREATE TABLE xwarehouses OF XMLTYPE;\n\n\nBecause Oracle Database implicitly stores the data in a CLOB column, it is subject to all of the restrictions on LOB columns. To avoid these restrictions, you can create an XMLSchema-based table, as shown in the following example. The XMLSchema must already have been created (see &quot;Using XML in SQL Statements&quot; for more information):\n\n\n\n\nCREATE TABLE xwarehouses OF XMLTYPE\n   XMLSCHEMA &quot;http://www.oracle.com/xwarehouses.xsd&quot;\n   ELEMENT &quot;Warehouse&quot;;\n\n\nYou can define constraints on an XMLSchema-based table, and you can also create indexes on XMLSchema-based tables, which greatly enhance subsequent queries. You can create object-relational views on XMLType tables, and you can create XMLType views on object-relational tables.\nXMLType Column Examples The following example creates a table with an XMLType column stored as a CLOB. This table does not require an XMLSchema, so the content structure is not predetermined:\n\n\n\n\nCREATE TABLE xwarehouses (\n   warehouse_id        NUMBER,\n   warehouse_spec      XMLTYPE)\n   XMLTYPE warehouse_spec STORE AS CLOB\n   (TABLESPACE example\n    STORAGE (INITIAL 6144 NEXT 6144)\n    CHUNK 4000\n    NOCACHE LOGGING);\n\n\nThe following example creates a similar table, but stores XMLType data in an object relational XMLType column whose structure is determined by the specified schema:\n\n\n\n\nCREATE TABLE xwarehouses (\n   warehouse_id    NUMBER,\n   warehouse_spec  XMLTYPE)\n   XMLTYPE warehouse_spec STORE AS OBJECT RELATIONAL\n      XMLSCHEMA &quot;http://www.oracle.com/xwarehouses.xsd&quot;\n      ELEMENT &quot;Warehouse&quot;;\n\nPartitioning Examples\nRange Partitioning Example le Ventes table in the sample schema sh is partitioned by range. The following example shows an abbreviated variation of the Ventes table. Constraints and storage elements have been omitted from the example.\n\n\n\n\nCREATE TABLE range_sales\n    ( prod_id        NUMBER(6)\n    , cust_id        NUMBER\n    , time_id        DATE\n    , channel_id     CHAR(1)\n    , promo_id       NUMBER(6)\n    , quantity_sold  NUMBER(3)\n    , amount_sold         NUMBER(10,2)\n    )\nPARTITION BY RANGE (time_id)\n  (PARTITION SALES_Q1_1998 VALUES LESS THAN (TO_DATE(&#39;01-APR-1998&#39;,&#39;DD-MON-YYYY&#39;)),\n   PARTITION SALES_Q2_1998 VALUES LESS THAN (TO_DATE(&#39;01-JUL-1998&#39;,&#39;DD-MON-YYYY&#39;)),\n   PARTITION SALES_Q3_1998 VALUES LESS THAN (TO_DATE(&#39;01-OCT-1998&#39;,&#39;DD-MON-YYYY&#39;)),\n   PARTITION SALES_Q4_1998 VALUES LESS THAN (TO_DATE(&#39;01-JAN-1999&#39;,&#39;DD-MON-YYYY&#39;)),\n   PARTITION SALES_Q1_1999 VALUES LESS THAN (TO_DATE(&#39;01-APR-1999&#39;,&#39;DD-MON-YYYY&#39;)),\n   PARTITION SALES_Q2_1999 VALUES LESS THAN (TO_DATE(&#39;01-JUL-1999&#39;,&#39;DD-MON-YYYY&#39;)),\n   PARTITION SALES_Q3_1999 VALUES LESS THAN (TO_DATE(&#39;01-OCT-1999&#39;,&#39;DD-MON-YYYY&#39;)),\n   PARTITION SALES_Q4_1999 VALUES LESS THAN (TO_DATE(&#39;01-JAN-2000&#39;,&#39;DD-MON-YYYY&#39;)),\n   PARTITION SALES_Q1_2000 VALUES LESS THAN (TO_DATE(&#39;01-APR-2000&#39;,&#39;DD-MON-YYYY&#39;)),\n   PARTITION SALES_Q2_2000 VALUES LESS THAN (TO_DATE(&#39;01-JUL-2000&#39;,&#39;DD-MON-YYYY&#39;)),\n   PARTITION SALES_Q3_2000 VALUES LESS THAN (TO_DATE(&#39;01-OCT-2000&#39;,&#39;DD-MON-YYYY&#39;)),\n   PARTITION SALES_Q4_2000 VALUES LESS THAN (MAXVALUE))\n;\n\nFor information about partitioned table maintenance operations, see Oracle Database Administrator&#39;s Guide.\nList Partitioning Example The following statement shows how the sample table oe.customers might have been created as a list-partitioned table. Some columns and all constraints of the sample table have been omitted in this example.\n\n\n\n\nCREATE TABLE list_customers \n   ( customer_id             NUMBER(6)\n   , cust_first_name         VARCHAR2(20) \n   , cust_last_name          VARCHAR2(20)\n   , cust_address            CUST_ADDRESS_TYP\n   , nls_territory           VARCHAR2(30)\n   , cust_email              VARCHAR2(30))\n   PARTITION BY LIST (nls_territory) (\n   PARTITION asia VALUES (&#39;CHINA&#39;, &#39;THAILAND&#39;),\n   PARTITION europe VALUES (&#39;GERMANY&#39;, &#39;ITALY&#39;, &#39;SWITZERLAND&#39;),\n   PARTITION west VALUES (&#39;AMERICA&#39;),\n   PARTITION east VALUES (&#39;INDIA&#39;),\n   PARTITION rest VALUES (DEFAULT));\n\nPartitioned Table with LOB Columns Example This statement creates a partitioned table print_media_demo with two partitions p1 et p2, and a number of LOB columns. The statement uses the sample table pm.print_media, but the LONG colonne press_release is omitted because LONG columns are not supported in partitioning.\n\n\n\n\nCREATE TABLE print_media_demo\n   ( product_id NUMBER(6)\n   , ad_id NUMBER(6)\n   , ad_composite BLOB\n   , ad_sourcetext CLOB\n   , ad_finaltext CLOB\n   , ad_fltextn NCLOB\n   , ad_textdocs_ntab textdoc_tab\n   , ad_photo BLOB\n   , ad_graphic BFILE\n   , ad_header adheader_typ\n   ) NESTED TABLE ad_textdocs_ntab STORE AS textdocs_nestedtab_demo\n      LOB (ad_composite, ad_photo, ad_finaltext)\n      STORE AS(STORAGE (NEXT 20M))\n   PARTITION BY RANGE (product_id)\n      (PARTITION p1 VALUES LESS THAN (3000) TABLESPACE tbs_01\n         LOB (ad_composite, ad_photo)\n         STORE AS (TABLESPACE tbs_02 STORAGE (INITIAL 10M)),\n       PARTITION P2 VALUES LESS THAN (MAXVALUE)\n         LOB (ad_composite, ad_finaltext)\n         STORE AS (TABLESPACE tbs_03)\n       )\n   TABLESPACE tbs_04;\n\n\nPartition p1 will be in tablespace tbs_1. The LOB data partitions for ad_composite et ad_photo will be in tablespace tbs_2. The LOB data partition for the remaining LOB columns will be in tablespace tbs_1. The storage attribute INITIAL is specified for LOB columns ad_composite et ad_photo. Other attributes will be inherited from the default table-level specification. The default LOB storage attributes not specified at the table level will be inherited from the tablespace tbs_2 for columns ad_composite et ad_photo and from tablespace tbs_1 for the remaining LOB columns. LOB index partitions will be in the same tablespaces as the corresponding LOB data partitions. Other storage attributes will be based on values of the corresponding attributes of the LOB data partitions and default attributes of the tablespace where the index partitions reside.\nPartition p2 will be in the default tablespace tbs_4. The LOB data for ad_composite et ad_finaltext will be in tablespace tbs_3. The LOB data for the remaining LOB columns will be in tablespace tbs_4. The LOB index for columns ad_composite et ad_finaltext will be in tablespace tbs_3. The LOB index for the remaining LOB columns will be in tablespace tbs_4.\nHash Partitioning Example The sample table oe.product_information is not partitioned. However, you might want to partition such a large table by hash for performance reasons, as shown in this example. The tablespace names are hypothetical in this example.\n\n\n\n\nCREATE TABLE hash_products \n    ( product_id          NUMBER(6) \n    , product_name        VARCHAR2(50) \n    , product_description VARCHAR2(2000) \n    , category_id         NUMBER(2) \n    , weight_class        NUMBER(1) \n    , warranty_period     INTERVAL YEAR TO MONTH \n    , supplier_id         NUMBER(6) \n    , product_status      VARCHAR2(20) \n    , list_price          NUMBER(8,2) \n    , min_price           NUMBER(8,2) \n    , catalog_url         VARCHAR2(50) \n    , CONSTRAINT          product_status_lov_demo \n                          CHECK (product_status in (&#39;orderable&#39; \n                                                  ,&#39;planned&#39; \n                                                  ,&#39;under development&#39; \n                                                  ,&#39;obsolete&#39;) \n ) ) \n PARTITION BY HASH (product_id) \n PARTITIONS 5 \n STORE IN (tbs_01, tbs_02, tbs_03, tbs_04); \n\nComposite-Partitioned Table Examples The table created in the &quot;Range Partitioning Example&quot; divides data by time of sale. If you plan to access recent data according to distribution channel as well as time, then composite partitioning might be more appropriate. The following example creates a copy of that range_sales table but specifies range-hash composite partitioning. The partitions with the most recent data are subpartitioned with both system-generated and user-defined subpartition names. Constraints and storage attributes have been omitted from the example.\n\n\n\n\nCREATE TABLE composite_sales\n    ( prod_id        NUMBER(6)\n    , cust_id        NUMBER\n    , time_id        DATE\n    , channel_id     CHAR(1)\n    , promo_id       NUMBER(6)\n    , quantity_sold  NUMBER(3)\n    , amount_sold         NUMBER(10,2)\n    )\nPARTITION BY RANGE (time_id)\nSUBPARTITION BY HASH (channel_id)\n  (PARTITION SALES_Q1_1998 VALUES LESS THAN (TO_DATE(&#39;01-APR-1998&#39;,&#39;DD-MON-YYYY&#39;)),\n   PARTITION SALES_Q2_1998 VALUES LESS THAN (TO_DATE(&#39;01-JUL-1998&#39;,&#39;DD-MON-YYYY&#39;)),\n   PARTITION SALES_Q3_1998 VALUES LESS THAN (TO_DATE(&#39;01-OCT-1998&#39;,&#39;DD-MON-YYYY&#39;)),\n   PARTITION SALES_Q4_1998 VALUES LESS THAN (TO_DATE(&#39;01-JAN-1999&#39;,&#39;DD-MON-YYYY&#39;)),\n   PARTITION SALES_Q1_1999 VALUES LESS THAN (TO_DATE(&#39;01-APR-1999&#39;,&#39;DD-MON-YYYY&#39;)),\n   PARTITION SALES_Q2_1999 VALUES LESS THAN (TO_DATE(&#39;01-JUL-1999&#39;,&#39;DD-MON-YYYY&#39;)),\n   PARTITION SALES_Q3_1999 VALUES LESS THAN (TO_DATE(&#39;01-OCT-1999&#39;,&#39;DD-MON-YYYY&#39;)),\n   PARTITION SALES_Q4_1999 VALUES LESS THAN (TO_DATE(&#39;01-JAN-2000&#39;,&#39;DD-MON-YYYY&#39;)),\n   PARTITION SALES_Q1_2000 VALUES LESS THAN (TO_DATE(&#39;01-APR-2000&#39;,&#39;DD-MON-YYYY&#39;)),\n   PARTITION SALES_Q2_2000 VALUES LESS THAN (TO_DATE(&#39;01-JUL-2000&#39;,&#39;DD-MON-YYYY&#39;))\n      SUBPARTITIONS 8,\n   PARTITION SALES_Q3_2000 VALUES LESS THAN (TO_DATE(&#39;01-OCT-2000&#39;,&#39;DD-MON-YYYY&#39;))\n     (SUBPARTITION ch_c,\n      SUBPARTITION ch_i,\n      SUBPARTITION ch_p,\n      SUBPARTITION ch_s,\n      SUBPARTITION ch_t),\n   PARTITION SALES_Q4_2000 VALUES LESS THAN (MAXVALUE)\n      SUBPARTITIONS 4)\n;\n\nThe following examples creates a partitioned table of customers based on the sample table oe.customers. In this example, the table is partitioned on the credit_limit column and list subpartitioned on the nls_territory column. The subpartition template determines the subpartitioning of any subsequently added partitions, unless you override the template by defining individual subpartitions. This composite partitioning makes it possible to query the table based on a credit limit range within a specified region:\n\n\n\n\nCREATE TABLE customers_part (\n   customer_id        NUMBER(6),\n   cust_first_name    VARCHAR2(20),\n   cust_last_name     VARCHAR2(20),\n   nls_territory      VARCHAR2(30),\n   credit_limit       NUMBER(9,2)) \n   PARTITION BY RANGE (credit_limit)\n   SUBPARTITION BY LIST (nls_territory)\n      SUBPARTITION TEMPLATE \n         (SUBPARTITION east  VALUES \n            (&#39;CHINA&#39;, &#39;JAPAN&#39;, &#39;INDIA&#39;, &#39;THAILAND&#39;),\n          SUBPARTITION west VALUES \n             (&#39;AMERICA&#39;, &#39;GERMANY&#39;, &#39;ITALY&#39;, &#39;SWITZERLAND&#39;),\n          SUBPARTITION other VALUES (DEFAULT))\n      (PARTITION p1 VALUES LESS THAN (1000),\n       PARTITION p2 VALUES LESS THAN (2500),\n       PARTITION p3 VALUES LESS THAN (MAXVALUE));\n\nObject Column and Table Examples\nCreating Object Tables: Examples Consider object type department_typ:\n\n\n\n\nCREATE TYPE department_typ AS OBJECT\n   ( d_name   VARCHAR2(100), \n     d_address VARCHAR2(200) );\n/\n \n\nObject table departments_obj_t holds department objects of type department_typ:\n\n\n\n\nCREATE TABLE departments_obj_t OF department_typ; \n\n\nThe following statement creates object table salesreps with a user-defined object type, salesrep_typ:\n\n\n\n\nCREATE OR REPLACE TYPE salesrep_typ AS OBJECT\n  ( repId NUMBER,\n    repName VARCHAR2(64));\n\nCREATE TABLE salesreps OF salesrep_typ;\n\nCreating a Table with a User-Defined Object Identifier: Example This example creates an object type and a corresponding object table whose object identifier is primary key based:\n\n\n\n\nCREATE TYPE employees_typ AS OBJECT \n   (e_no NUMBER, e_address CHAR(30));\n/\n\nCREATE TABLE employees_obj_t OF employees_typ (e_no PRIMARY KEY)\n   OBJECT IDENTIFIER IS PRIMARY KEY;\n\n\nYou can subsequently reference the employees_object_t object table using either inline_ref_constraint    ou out_of_line_ref_constraint    syntax\n\n\n\n\nCREATE TABLE departments_t \n   (d_no    NUMBER,\n    mgr_ref REF employees_typ SCOPE IS employees_obj_t);\n\nCREATE TABLE departments_t (\n    d_no NUMBER,\n    mgr_ref REF employees_typ \n       CONSTRAINT mgr_in_emp REFERENCES employees_obj_t);\n\nSpecifying Constraints on Type Columns: Example The following example shows how to define constraints on attributes of an object type column:\n\n\n\n\nCREATE TYPE address_t AS OBJECT\n  ( hno    NUMBER,\n    street VARCHAR2(40),\n    city   VARCHAR2(20),\n    zip    VARCHAR2(5),\n    phone  VARCHAR2(10) );\n/\n\nCREATE TYPE person AS OBJECT\n  ( name        VARCHAR2(40),\n    dateofbirth DATE,\n    homeaddress address_t,\n    manager     REF person );\n/\n\nCREATE TABLE persons OF person\n  ( homeaddress NOT NULL,\n      UNIQUE (homeaddress.phone),\n      CHECK (homeaddress.zip IS NOT NULL),\n      CHECK (homeaddress.city &lt;&gt; &#39;San Francisco&#39;) );\n\n\nClick to rate this post!\r\n                                   \r\n                               [Total: 0  Average: 0]","paragraphs":["Objectif\nNouse le CRÉER TABLE instruction pour créer l’un des types de tables suivants:","UNE table relationnelle, qui est la structure de base pour stocker les données utilisateur.","Un table objet, qui est une table qui utilise un type d’objet pour une définition de colonne. Une table d&#39;objets est explicitement définie pour contenir des instances d&#39;objet d&#39;un type particulier.","Vous pouvez également créer un type d&#39;objet, puis l&#39;utiliser dans une colonne lors de la création d&#39;une table relationnelle.\nLes tables sont créées sans données sauf si une sous-requête est spécifiée. Vous pouvez ajouter des lignes à une table avec le INSÉRER déclaration. Après avoir créé une table, vous pouvez définir des colonnes, des partitions et des contraintes d’intégrité supplémentaires avec AJOUTER clause de la MODIFIER TABLE déclaration. Vous pouvez modifier la définition d’une colonne ou d’une partition existante avec MODIFIER clause de la MODIFIER TABLE déclaration.\nSujets supplémentaires\nConditions préalables\nPour créer une table relationnelle dans votre propre schéma, vous devez disposer du CRÉER TABLE privilège système. Pour créer une table dans le schéma d’un autre utilisateur, vous devez disposer du CRÉER TOUT TABLE privilège système. De plus, le propriétaire du schéma devant contenir la table doit avoir un quota d’espace sur l’espace de table pour contenir la table ou le ILLIMITÉ TABLESPACE privilège système.\nOutre ces privilèges de table, pour créer une table objet ou une table relationnelle avec une colonne de type objet, le propriétaire de la table doit disposer du EXÉCUTER privilège d&#39;objet afin d&#39;accéder à tous les types référencés par la table, ou vous devez disposer du EXÉCUTER TOUT TYPE privilège système. Ces privilèges doivent être accordés explicitement et non acquis via un rôle.\nDe plus, si le propriétaire de la table a l&#39;intention d&#39;accorder l&#39;accès à la table à d&#39;autres utilisateurs, il doit alors avoir obtenu l&#39;autorisation EXÉCUTER privilège d&#39;objet sur les types référencés AVEC SUBVENTION OPTION, ou avoir le EXÉCUTER TOUT TYPE privilège système AVEC ADMIN OPTION. Sans ces privilèges, le propriétaire de la table ne dispose pas de privilèges suffisants pour accorder l&#39;accès à la table à d&#39;autres utilisateurs.\nPour activer une contrainte de clé unique ou primaire, vous devez disposer des privilèges nécessaires pour créer un index sur la table. Vous avez besoin de ces privilèges, car Oracle Database crée un index sur les colonnes de la clé unique ou primaire du schéma contenant la table.\nPour créer une table externe, vous devez disposer des privilèges de système d&#39;exploitation requis en lecture et en écriture sur les répertoires appropriés du système d&#39;exploitation. Vous devez avoir le LIS privilège object sur l&#39;objet de répertoire de base de données correspondant au répertoire du système d&#39;exploitation dans lequel résident les données externes. Vous devez aussi avoir le ÉCRIRE Privilège d’objet sur le répertoire de la base de données dans lequel les fichiers résideront si vous spécifiez un fichier journal ou un fichier incorrect dans le répertoire. opaque_format_spec    ou si vous déchargez des données dans une table externe à partir d&#39;une table de base de données en spécifiant le COMME sous-requête    clause.\nSyntaxe\ncreate_table:: =","Description de l&#39;illustration create_table.gif\n(table_relationnelle:: =, objet_table :: =, XMLType_table :: =)\ntable_relationnelle:: =","Description de l&#39;illustration relational_table.gif","Remarque:\nChacune des clauses qui suivent le nom de la table est facultative pour toute table relationnelle donnée. Cependant, pour chaque table, vous devez au moins spécifier les noms de colonne et les types de données à l&#39;aide de la commande propriétés_relationnelles    clause ou un COMME sous-requête    clause utilisant la propriétés_table    clause.\n(propriétés_relationnelles:: =, propriétés physiques:: =, propriétés_table:: =)\nobjet_table    :: =","Description de l&#39;illustration object_table.gif\n(object_table_substitution :: =, propriétés_objet:: =, oid_clause:: =, oid_index_clause:: =, propriétés physiques:: =, propriétés_table:: =)\nXMLType_table    :: =","Description de l&#39;illustration XMLType_table.gif\n(XMLType_storage:: =, XMLSchema_spec:: =, oid_clause:: =, oid_index_clause:: =, propriétés physiques:: =, propriétés_table:: =)\npropriétés_relationnelles:: =","Description de l&#39;illustration relational_properties.gif\n(définition_colonne:: =, contrainte:: =, supplemental_logging_props :: =)\ndéfinition_colonne:: =","Description de l&#39;illustration column_definition.gif\n(encryption_spec:: =, contrainte:: =)\nencryption_spec:: =","Description de l&#39;illustration encryption_spec.gif\nobject_table_substitution    :: =","Description de l&#39;illustration object_table_substitution.gif\npropriétés_objet:: =","Description de l&#39;illustration object_properties.gif\n(contrainte:: =, supplemental_logging_props :: =)\noid_clause:: =","Description de l&#39;illustration oid_clause.gif\noid_index_clause:: =","Description de l&#39;illustration oid_index_clause.gif\n(clause_attributs_ physiques:: =)\npropriétés physiques:: =","Description de l&#39;illustration physical_properties.gif\n(segment_attributes_clause :: =, compression_table:: =, index_org_table_clause :: =, clause_table_externe :: =)\nsegment_attributes_clause    :: =","Description de l&#39;illustration segment_attributes_clause.gif\n(clause_attributs_ physiques:: =, clause_logging:: =)\nclause_attributs_ physiques:: =","Description de l&#39;illustration physical_attributes_clause.gif\n(clause_stockage:: =) \ncompression_table:: =","Description de l&#39;illustration table_compression.gif\npropriétés_table:: =","Description de l&#39;illustration table_properties.gif\n(propriétés de la colonne:: =, clauses_partitionnement_table :: =, clause_parallèle :: =, enable_disable_clause :: =, row_movement_clause :: =, sous-requête:: =)\npropriétés de la colonne:: =","Description de l&#39;illustration column_properties.gif\n(object_type_col_properties:: =, nested_table_col_properties :: =, varray_col_properties :: =, LOB_storage_clause:: =, LOB_partition_storage:: =, XMLType_column_properties :: =)\nobject_type_col_properties:: =","Description de l&#39;illustration object_type_col_properties.gif\nsubstitutable_column_clause:: =","Description de l&#39;illustration substitutable_column_clause.gif\nnested_table_col_properties :: =","Description de l&#39;illustration nested_table_col_properties.gif\n(substitutable_column_clause:: =, propriétés_objet:: =, propriétés physiques:: =, propriétés de la colonne:: =)\nvarray_col_properties :: =","Description de l&#39;illustration varray_col_properties.gif\n(substitutable_column_clause:: =, LOB_parameters :: =)\nLOB_storage_clause:: =","Description de l&#39;illustration LOB_storage_clause.gif\n(LOB_parameters :: =)\nLOB_parameters    :: =","Description de l&#39;illustration LOB_parameters.gif\n(clause_stockage:: =)\nclause_logging:: =","Description de l&#39;illustration logging_clause.gif\nLOB_partition_storage:: =","Description de l&#39;illustration LOB_partition_storage.gif\n(LOB_storage_clause:: =, varray_col_properties :: =)\nXMLType_column_properties    :: =","Description de l&#39;illustration XMLType_column_properties.gif\n(XMLType_storage:: =, XMLSchema_spec:: =)\nXMLType_storage:: =","Description de l&#39;illustration XMLType_storage.gif\n(LOB_parameters :: =)\nXMLSchema_spec:: =","Description de l&#39;illustration XMLSchema_spec.gif\nrow_movement_clause :: =","Description de l&#39;illustration row_movement_clause.gif\nindex_org_table_clause :: =","Description de l&#39;illustration index_org_table_clause.gif\n(mapping_table_clauses:: =, key_compression :: =, index_org_overflow_clause :: =)\nmapping_table_clauses:: =","Description de l&#39;illustration mapping_table_clauses.gif\nkey_compression    :: =","Description de l&#39;illustration key_compression.gif\nindex_org_overflow_clause    :: =","Description de l&#39;illustration index_org_overflow_clause.gif\n(segment_attributes_clause :: =)\nsupplemental_logging_props    :: =","Description de l&#39;illustration supplemental_logging_props.gif\nsupplemental_log_grp_clause:: =","Description de l&#39;illustration supplemental_log_grp_clause.gif\nsupplemental_id_key_clause:: =","Description de l&#39;illustration supplemental_id_key_clause.gif\nclause_table_externe    :: =","Description de l&#39;illustration external_table_clause.gif\n(données_externes:: =)\ndonnées_externes:: =","Description de l&#39;illustration external_data_properties.gif\n(opaque_format_spec: Voir Utilitaires de base de données Oracle pour savoir comment spécifier des valeurs pour opaque_format_spec.)\nclauses_partitionnement_table    :: =","Description de l&#39;illustration table_partitioning_clauses.gif\n(range_partitioning:: =, hash_partitioning :: =, partition_partition :: =, partitionnement composite :: =)\nrange_partitioning:: =","Description de l&#39;illustration range_partitioning.gif\n(plage_valeurs_clause:: =, description_partition_table:: =)\nhash_partitioning    :: =","Description de l&#39;illustration hash_partitioning.gif\n(individual_hash_partitions:: =, hash_partitions_by_quantity:: =)\npartition_partition    :: =","Description de l&#39;illustration list_partitioning.gif\n(list_values_clause:: =, description_partition_table:: =)\npartitionnement composite :: =","Description de l&#39;illustration composite_partitioning.gif\n(subpartition_by_list:: =, subpartition_by_hash:: =, plage_valeurs_clause:: =, description_partition_table:: =)\nsubpartition_by_hash:: =","Description de l&#39;illustration subpartition_by_hash.gif\n(subpartition_template:: =)\nindividual_hash_partitions:: =","Description de l&#39;illustration individual_hash_partitions.gif\n(partitioning_storage_clause:: =)\nhash_partitions_by_quantity:: =","Description de l&#39;illustration hash_partitions_by_quantity.gif\nsubpartition_by_list:: =","Description de l&#39;illustration subpartition_by_list.gif\n(subpartition_template:: =)\nsubpartition_template:: =","Description de l&#39;illustration subpartition_template.gif\n(list_values_clause:: =, partitioning_storage_clause:: =)\nplage_valeurs_clause:: =","Description de l&#39;illustration range_values_clause.gif\nlist_values_clause:: =","Description de l&#39;illustration list_values_clause.gif\ndescription_partition_table:: =","Description de l&#39;illustration table_partition_description.gif\n(segment_attributes_clause :: =, compression_table:: =, LOB_storage_clause:: =, varray_col_properties :: =, partition_level_subpartition:: =)\npartition_level_subpartition:: =","Description de l&#39;illustration partition_level_subpartition.gif\n(subpartition_spec:: =)\nsubpartition_spec:: =","Description de l&#39;illustration subpartition_spec.gif\n(list_values_clause:: =, partitioning_storage_clause:: =)\npartitioning_storage_clause:: =","Description de l&#39;illustration partitioning_storage_clause.gif\nclause_parallèle :: =","Description de l&#39;illustration parallel_clause.gif\nenable_disable_clause :: =","Description de l&#39;illustration enable_disable_clause.gif\n(using_index_clause :: =, exceptions_clause n&#39;est pas supporté dans CRÉER TABLE déclarations)\nusing_index_clause    :: =","Description de l&#39;illustration using_index_clause.gif\n(create_index:: =, propriété_index:: =)\npropriété_index:: =","Description de l&#39;illustration index_properties.gif\n(global_partitioned_index :: =, local_partitioned_index :: =&#8211;partie de CRÉER INDICE, index_attributes:: =, domain_index_clause: non pris en charge dans using_index_clause)\nindex_attributes:: =","Description de l&#39;illustration index_attributes.gif\n(clause_attributs_ physiques:: =, logging_clause:: =, key_compression :: =, clause_parallèle: non pris en charge dans using_index_clause)\nSémantique\ntable_relationnelle \nGLOBAL TEMPORARY \nSpécifier GLOBAL TEMPORAIRE pour indiquer que la table est temporaire et que sa définition est visible pour toutes les sessions avec les privilèges appropriés. le Les données dans une table temporaire est visible uniquement pour la session qui insère les données dans la table.\nLorsque vous créez une table temporaire pour la première fois, ses métadonnées de table sont stockées dans le dictionnaire de données, mais aucun espace n&#39;est alloué pour les données de la table. Un espace est alloué pour le segment de table au moment de la première opération DML sur la table. La définition de la table temporaire persiste de la même manière que les définitions des tables normales, mais le segment de la table et toutes les données contenues dans la table sont soit spécifique à la session ou spécifique à la transaction Les données. Vous spécifiez si le segment de table et les données sont spécifiques à la session ou à la transaction avec les mots-clés ON COMMIT.\nVous pouvez effectuer des opérations DDL (telles que MODIFIER TABLE, LAISSEZ TOMBER TABLE, CRÉER INDICE) sur une table temporaire uniquement lorsqu&#39;aucune session n&#39;est liée à celle-ci. Une session devient liée à une table temporaire en effectuant une opération INSÉRER opération sur la table. Une session devient non liée à la table temporaire en émettant un TRONQUER ou à la fin de la session, ou, pour une table temporaire spécifique à une transaction, en émettant un COMMETTRE ou RETOUR EN ARRIERE déclaration.\nRestrictions sur les tables temporaires Les tables temporaires sont soumises aux restrictions suivantes:","Les tables temporaires ne peuvent pas être partitionnées, en cluster ou organisées par index.","Vous ne pouvez spécifier aucune contrainte de clé étrangère sur les tables temporaires.","Les tables temporaires ne peuvent pas contenir de colonnes de table imbriquée.","Vous ne pouvez pas spécifier les clauses suivantes du LOB_storage_clause: TABLESPACE, clause_stockage, ou clause_logging.","Les requêtes DML parallèles et parallèles ne sont pas prises en charge pour les tables temporaires. Les indications parallèles sont ignorées. Spécification de la clause_parallèle    renvoie une erreur.","Vous ne pouvez pas spécifier le segment_attributes_clause, nested_table_col_properties, ou clause_parallèle.","Les transactions distribuées ne sont pas prises en charge pour les tables temporaires.","schéma\nSpécifiez le schéma pour contenir la table. Si vous omettez schéma, la base de données crée alors la table dans votre propre schéma.\ntable\nSpécifiez le nom de la table ou de la table d&#39;objets à créer.\npropriétés_relationnelles\nLes propriétés relationnelles décrivent les composants d&#39;une table relationnelle.\ndéfinition_colonne\nle définition_colonne    vous permet de définir les caractéristiques de la colonne.\ncolonne \nSpécifiez le nom d&#39;une colonne de la table.\nSi vous spécifiez également COMME sous-requêtealors vous pouvez omettre colonne    et Type de données    sauf si vous créez une table organisée par index. Si vous spécifiez COMME sous-requête    lors de la création d&#39;une table organisée par index, vous devez spécifier colonneet vous devez l&#39;omettre Type de données.\nLe nombre maximum absolu de colonnes dans une table est 1000. Toutefois, lorsque vous créez une table objet ou une table relationnelle avec des colonnes d&#39;objet, une table imbriquée, un tableau de variables ou REF type, Oracle Database mappe les colonnes des types définis par l&#39;utilisateur sur des colonnes relationnelles, créant ainsi des colonnes masquées qui comptent pour la limite de 1 000 colonnes.\nType de données\nSpécifiez le type de données d&#39;une colonne.\nNotes sur les types de données de colonne de table Les remarques suivantes s&#39;appliquent aux types de données des colonnes de table:","Si vous spécifiez COMME sous-requêtealors vous pouvez omettre Type de données. Si vous créez une table organisée par index et que vous spécifiez COMME sous-requête, vous devez alors omettre le type de données.","Vous pouvez aussi omettre Type de données    si l&#39;instruction désigne la colonne en tant que partie d&#39;une clé étrangère dans une contrainte d&#39;intégrité référentielle. Oracle Database affecte automatiquement à la colonne le type de données de la colonne correspondante de la clé référencée de la contrainte d&#39;intégrité référentielle.","Ne créez pas de table avec LONGUE Colonnes. Utiliser les colonnes LOB (CLOB, NCLOB, GOUTTE) au lieu. LONGUE les colonnes sont prises en charge uniquement pour des raisons de compatibilité ascendante.","Restriction sur les types de données de colonne de table Vous pouvez spécifier une colonne de type ROWID, mais Oracle Database ne garantit pas que les valeurs de ces colonnes sont des ID de ligne valides.","Voir également:\n&quot;Types de données&quot; pour plus d&#39;informations sur LONGUE colonnes et sur les types de données fournis par Oracle\nTRIER \nle TRIER mot-clé est valide uniquement si vous créez cette table dans le cadre d&#39;un cluster de hachage et uniquement pour les colonnes qui sont également des colonnes de cluster.\nCette clause indique à la base de données de trier les lignes du cluster sur cette colonne avant d&#39;appliquer la fonction de hachage. Cela pourrait améliorer le temps de réponse lors d&#39;opérations ultérieures sur les données en cluster.\nDÉFAUT \nle DÉFAUT Cette clause vous permet de spécifier une valeur à affecter à la colonne si une nouvelle INSÉRER instruction omet une valeur pour la colonne. Le type de données de l&#39;expression doit correspondre à celui de la colonne. La colonne doit également être suffisamment longue pour contenir cette expression.\nle DÉFAUT expression peut inclure n&#39;importe quelle fonction SQL tant qu&#39;elle ne renvoie pas d&#39;argument littéral, de référence de colonne ou d&#39;appel de fonction imbriquée.\nRestriction sur les valeurs de colonne par défaut UNE DÉFAUT expression ne peut pas contenir de références à des fonctions PL / SQL ni à d’autres colonnes, les pseudocolonnes CURRVAL, NEXTVAL, NIVEAU, AVANT, et ROWNUM, ou des constantes de date qui ne sont pas complètement spécifiées.\nCRYPTER encryption_spec \nle CRYPTER Cette clause vous permet d’utiliser la fonctionnalité de chiffrement de données transparente pour chiffrer la colonne que vous définissez. Vous pouvez chiffrer des colonnes de type CARBONISER, NCHAR, VARCHAR2, NVARCHAR2, NOMBRE, DATE, et BRUT. Les données n&#39;apparaissent pas sous leur forme chiffrée pour les utilisateurs autorisés, tels que l&#39;utilisateur qui chiffre la colonne.\nEN UTILISANT &#39;algorithme d&#39;encodage&#39; Utilisez cette clause pour spécifier le nom de l&#39;algorithme à utiliser. Les algorithmes valides sont 3DES168, AES128, AES192, et AES256. Si vous omettez cette clause, la base de données utilise AES192. Si vous chiffrez plusieurs colonnes dans la même table et si vous spécifiez la EN UTILISANT clause pour l’une des colonnes, vous devez spécifier le même algorithme de chiffrement pour toutes les colonnes chiffrées.\nIDENTIFIÉ PAR mot de passe Si vous spécifiez cette clause, la base de données dérive la clé de colonne du mot de passe spécifié.\nSEL | PAS DE SEL Par défaut, la base de données ajoute une chaîne aléatoire, appelée &quot;sel&quot;, au texte en clair de la colonne avant de la chiffrer. Si vous souhaitez utiliser la colonne en tant que clé d&#39;index, vous devez spécifier NON SEL. Prière de se référer à Guide de l&#39;administrateur Oracle Advanced Security pour une description de &quot;sel&quot; dans ce contexte.\nRestrictions sur la clause ENCRYPT: Les restrictions suivantes s&#39;appliquent au chiffrement de colonne:","Pour chiffrer une colonne dans une table externe, la table doit utiliser ORACLE_DATAPUMP comme son type d&#39;accès.","Vous ne pouvez pas chiffrer une colonne dans les tables appartenant à SYS.","Vous ne pouvez pas chiffrer une colonne de clé étrangère.","Clauses de contrainte\nUtilisez ces clauses pour créer des contraintes sur les colonnes de la table. Vous devez spécifier un PRIMAIRE CLÉ contrainte pour une table organisée par index, et il ne peut pas être Reportable. Prière de se référer à contrainte    pour la syntaxe et la description de ces contraintes ainsi que des exemples.\ninline_ref_constraint et out_of_line_ref_constraint  Ces clauses vous permettent de décrire une colonne de type REF. La seule différence entre ces clauses est que vous spécifiez out_of_line_ref_constraint    au niveau de la table, vous devez donc identifier le REF colonne ou attribut que vous définissez. Spécifier inline_ref_constraint    dans le cadre de la définition du REF colonne ou attribut.\ninline_constraiNT  Utilisez le inline_constraint    définir une contrainte d’intégrité dans la définition de la colonne.\nVous pouvez créer UNIQUE, PRIMAIRE CLÉ, et RÉFÉRENCES contraintes sur les attributs scalaires des colonnes de type d&#39;objet. Vous pouvez également créer NE PAS NUL contraintes sur les colonnes de type d&#39;objet et VÉRIFIER des contraintes qui font référence à des colonnes de type d&#39;objet ou à tout attribut d&#39;une colonne de type d&#39;objet.\nout_of_line_constraint  Utilisez le out_of_line_constraint    syntaxe pour définir une contrainte d&#39;intégrité dans la définition de la table.\nsupplemental_logging_props \nle supplemental_logging_props    Cette clause vous permet de charger la base de données de placer des données supplémentaires dans le flux de journaux afin de prendre en charge les outils basés sur les journaux.\nsupplemental_log_grp_clause Utilisez cette clause pour créer un groupe de journaux nommé.","le NON BÛCHE Cette clause vous permet d’omettre du journal de reprise une ou plusieurs colonnes qui seraient autrement incluses dans le rétablissement du groupe de journaux nommé. Vous devez spécifier au moins une colonne de longueur fixe sans NON BÛCHE dans le groupe de journaux nommé.","Si vous spécifiez TOUJOURS, puis lors d’une mise à jour, la base de données inclut dans la restauration toutes les colonnes du groupe de journaux. Ceci s&#39;appelle un groupe de journaux inconditionnel (parfois appelé &quot;groupe de journalisation&quot;), car Oracle Database enregistre de manière complémentaire toutes les colonnes du groupe de journalisation lorsque la ligne associée est modifiée. Si vous omettez TOUJOURS, la base de données enregistre ensuite toutes les colonnes du groupe de journaux uniquement si l’une quelconque des colonnes du groupe de journaux est modifiée. Ceci s&#39;appelle un groupe de journaux conditionnel.","Vous pouvez interroger le approprié UTILISATEUR_, TOUT_, ou DBA_LOG_GROUP_COLUMNS dictionnaire de données pour déterminer si une journalisation supplémentaire a déjà été spécifiée.\nsupplemental_id_key_clause Utilisez cette clause pour spécifier que toutes les colonnes de clé primaire, de clé unique et de clé étrangère, ou une combinaison de celles-ci, doivent être journalisées. Oracle Database générera soit un groupe de journaux inconditionnel ou un groupe de journaux conditionnel. Avec un groupe de journaux inconditionnel, la base de données enregistre de manière supplémentaire toutes les colonnes du groupe de journaux lorsque la ligne associée est modifiée. Avec un groupe de journaux conditionnel, la base de données enregistre de manière complémentaire toutes les colonnes du groupe de journaux uniquement si l&#39;une des colonnes du groupe de journaux est modifiée.","Si vous spécifiez TOUT COLONNES, alors la base de données inclut dans le journal de restauration toutes les colonnes de taille maximale de longueur fixe de cette ligne. Un tel journal de rétablissement est un groupe de journaux inconditionnel généré par le système.","Si vous spécifiez PRIMAIRE CLÉ COLONNES, puis pour toutes les tables avec une clé primaire, la base de données place dans le journal de restauration toutes les colonnes de la clé primaire chaque fois qu&#39;une mise à jour est effectuée. Oracle Database évalue les colonnes à consigner de manière supplémentaire comme suit:","La base de données choisit d’abord les colonnes de la contrainte de clé primaire, si celle-ci est validée ou marquée COMPTER et n&#39;est pas marqué comme DÉSACTIVÉ ou INITIALEMENT DIFFÉRÉ.","Si aucune colonne de clé primaire n&#39;existe, la base de données recherche la plus petite UNIQUE index avec au moins un NE PAS NUL colonne et utilise les colonnes de cet index.","Si aucun index de ce type n&#39;existe, la base de données enregistre ensuite toutes les colonnes scalaires de la table.","Si vous spécifiez UNIQUE COLONNES, puis pour toutes les tables avec une clé unique ou un index bitmap, si l’une quelconque des colonnes d’index clé unique ou bitmap est modifiée, la base de données place dans le journal de restauration toutes les autres colonnes appartenant à la clé unique ou à l’index bitmap. Un tel groupe de journaux est un groupe de journaux conditionnel généré par le système.","Si vous spécifiez ÉTRANGER CLÉ COLONNES, puis pour toutes les tables avec une clé étrangère, si des colonnes de clé étrangère sont modifiées, la base de données place dans le journal de restauration toutes les autres colonnes appartenant à la clé étrangère. Un tel journal de rétablissement est un groupe de journaux conditionnel généré par le système.","Si vous spécifiez cette clause plusieurs fois, la base de données crée un groupe de journaux distinct pour chaque spécification. Vous pouvez interroger le approprié UTILISATEUR_, TOUT_, ou DBA_LOG_GROUPS dictionnaire de données pour déterminer si des données de journalisation supplémentaires ont déjà été spécifiées.\nSUR COMMETTRE\nle SUR COMMETTRE La clause n&#39;est pertinente que si vous créez une table temporaire. Cette clause spécifie si les données de la table temporaire sont conservées pendant la durée d&#39;une transaction ou d&#39;une session.\nSUPPRIMER LES RANGES Spécifier EFFACER LIGNES pour une table temporaire spécifique à une transaction. C&#39;est la valeur par défaut. Oracle Database tronquera la table (supprimera toutes ses lignes) après chaque validation.\nPréserver les rangs Spécifier PRÉSERVER LIGNES pour une table temporaire spécifique à la session. Oracle Database tronque la table (supprime toutes ses lignes) lorsque vous terminez la session.\npropriétés physiques\nLes propriétés physiques concernent le traitement des étendues et des segments et les caractéristiques de stockage de la table.\nsegment_attributes_clause \nle segment_attributes_clause    vous permet de spécifier les attributs physiques et le stockage d&#39;espace table pour la table.\nclause_attributs_ physiques le clause_attributs_ physiques    vous permet de spécifier la valeur du PCTFREE, PCTUSED, et INITRANS paramètres et les caractéristiques de stockage de la table.","Pour une table non partitionnée, chaque paramètre et caractéristique de stockage que vous spécifiez détermine l&#39;attribut physique réel du segment associé à la table.","Pour les tables partitionnées, la valeur que vous spécifiez pour le paramètre ou la caractéristique de stockage est l&#39;attribut physique par défaut des segments associés à toutes les partitions spécifiées dans cette section. CRÉER déclaration (et dans la suite MODIFIER TABLE &#8230; AJOUTER CLOISON instructions), sauf si vous écrasez explicitement cette valeur dans CLOISON clause de l&#39;instruction qui crée la partition.","Si vous omettez cette clause, Oracle Database définit PCTFREE à 10, PCTUSED à 40, et INITRANS à 1.\nTABLESPACE  Spécifiez l&#39;espace de table dans lequel Oracle Database crée la table, table d&#39;objet OIDINDEX, partition, segment de données LOB, segment d&#39;index LOB ou segment de données de dépassement de table organisé par index. Si vous omettez TABLESPACE, puis la base de données crée cet élément dans l’espace table par défaut du propriétaire du schéma contenant la table.\nPour une table organisée en tas avec une ou plusieurs colonnes LOB, si vous omettez le TABLESPACE clause de stockage LOB, la base de données crée les segments de données LOB et d’index dans le tablespace où la table est créée.\nPour une table organisée par index avec une ou plusieurs colonnes LOB, si vous omettez TABLESPACE, puis les segments de données et d&#39;index LOB sont créés dans l&#39;espace de table dans lequel le segment d&#39;index de clé primaire de la table organisée par index est créé.\nPour les tables non partitionnées, la valeur spécifiée pour TABLESPACE est l&#39;attribut physique réel du segment associé à la table. Pour les tables partitionnées, la valeur spécifiée pour TABLESPACE est l&#39;attribut physique par défaut des segments associés à toutes les partitions spécifiées dans le champ CRÉER déclaration et à la suite MODIFIER TABLE &#8230; AJOUTER CLOISON déclarations, sauf si vous spécifiez TABLESPACE dans le CLOISON la description.\nclause_logging \nIndiquez si la création de la table et de tout index requis en raison de contraintes, de caractéristiques de partition ou de stockage LOB sera consignée dans le fichier journal redo (ENREGISTREMENT) ou pas (NOLOGGING). L’attribut de journalisation de la table est indépendant de celui de ses index.\nCet attribut indique également si le chargeur direct ultérieur (SQL * Loader) et le chemin direct INSÉRER les opérations sur la table, la partition ou le stockage LOB sont consignées (ENREGISTREMENT) ou non connecté (NOLOGGING).\nPrière de se référer à clause_logging    pour une description complète de cette clause.\ncompression_table \nle compression_table    La clause n&#39;est valide que pour les tables organisées par tas. Utilisez cette clause pour indiquer à la base de données s&#39;il faut compresser les segments de données pour réduire l&#39;utilisation du disque. Cette clause est particulièrement utile dans des environnements tels que les entrepôts de données, où le nombre d&#39;opérations d&#39;insertion et de mise à jour est faible. le COMPRESSE mot clé active la compression de table. le NOCOMPRESS mot clé désactive la compression de la table. NOCOMPRESS est la valeur par défaut.\nLorsque vous activez la compression de table, Oracle Database tente de compresser les données lors d&#39;un accès direct. INSÉRER opérations quand il est productif de le faire. L&#39;utilitaire d&#39;importation d&#39;origine (imp) ne prend pas en charge le chemin direct. INSÉRERet ne peut donc pas importer des données dans un format compressé. Vous pouvez spécifier une compression de table pour les parties suivantes d&#39;une table organisée par tas:","Pour une table entière, dans le propriétés physiques    clause de table_relationnelle    ou objet_table","For a range partition, in the table_partition_description    du range_partitioning    clause","For a list partition, in the table_partition_description    du list_partitioning    clause","For the storage table of a nested table, in the nested_table_col_properties    clause","Restrictions on Table Compression Table compression is subject to the following restrictions:","Table compression is not supported for tables with more than 255 columns.","LOB data segments are not compressed.","You cannot specify table compression for an index-organized table, any overflow segment or partition of an overflow segment, or any mapping table segment of an index-organized table.","You cannot define table compression explicitly for hash partitions or hash and list subpartitions. The table compression attribute for those partitions is inherited from the tablespace, the table, or the table partition setting.","You cannot specify table compression for external tables or for tables that are part of a cluster.","RECOVERABLE | UNRECOVERABLE \nThese keywords are deprecated and have been replaced with LOGGING et NOLOGGING, respectivement. Bien que RECOVERABLE et UNRECOVERABLE are supported for backward compatibility, Oracle strongly recommends that you use the LOGGING et NOLOGGING keywords.\nRestrictions on [UN]RECOVERABLE This clause is subject to the following restrictions:","You cannot specify RECOVERABLE for partitioned tables or LOB storage characteristics.","You cannot specify UNRECOVERABLE for partitioned or index-organized tables.","You can specify UNRECOVERABLE only with COMME subquery.","ORGANIZATION \nle ORGANIZATION clause lets you specify the order in which the data rows of the table are stored.\nHEAP HEAP indicates that the data rows of table    are stored in no particular order. This is the default.\nINDEX INDEX indicates that table    is created as an index-organized table. In an index-organized table, the data rows are held in an index defined on the primary key for the table.\nEXTERNAL EXTERNAL indicates that table is a read-only table located outside the database.\nindex_org_table_clause\nUtilisez le index_org_table_clause    to create an index-organized table. Oracle Database maintains the table rows, both primary key column values and nonkey column values, in an index built on the primary key. Index-organized tables are therefore best suited for primary key-based access and manipulation. An index-organized table is an alternative to:","A noncluster table indexed on the primary key by using the CREATE INDEX déclaration","A cluster table stored in an indexed cluster that has been created using the CREATE CLUSTER statement that maps the primary key for the table to the cluster key","You must specify a primary key for an index-organized table, because the primary key uniquely identifies a row. The primary key cannot be DEFERRABLE. Use the primary key instead of the rowid for directly accessing index-organized rows.\nIf an index-organized table is partitioned and contains LOB columns, then you should specify the index_org_table_clause    first, then the LOB_storage_clause, and then the appropriate table_partitioning_clauses.\nYou cannot use the TO_LOB function to convert a LONG column to a LOB column in the subquery of a CREATE TABLE &#8230; COMME SELECT statement if you are creating an index-organized table. Instead, create the index-organized table without the LONG column, and then use the TO_LOB function in an INSÉRER &#8230; COMME SELECT déclaration.\nRestrictions on Index-Organized Tables Index-organized tables are subject to the following restrictions:\nPCTTHRESHOLD entier Specify the percentage of space reserved in the index block for an index-organized table row. PCTTHRESHOLD must be large enough to hold the primary key. All trailing columns of a row, starting with the column that causes the specified threshold to be exceeded, are stored in the overflow segment. PCTTHRESHOLD must be a value from 1 to 50. If you do not specify PCTTHRESHOLD, the default is 50.\nRestriction on PCTTHRESHOLD You cannot specify PCTTHRESHOLD for individual partitions of an index-organized table.\nmapping_table_clauses Specify MAPPING TABLE to instruct the database to create a mapping of local to physical ROWIDs and store them in a heap-organized table. This mapping is needed in order to create a bitmap index on the index-organized table. If the index-organized table is partitioned, then the mapping table is also partitioned and its partitions have the same name and physical attributes as the base table partitions.\nOracle Database creates the mapping table or mapping table partition in the same tablespace as its parent index-organized table or partition. You cannot query, perform DML operations on, or modify the storage characteristics of the mapping table or its partitions.\nkey_compression  le key_compression    clauses let you enable or disable key compression for index-organized tables.","Specify COMPRESS to enable key compression, which eliminates repeated occurrence of primary key column values in index-organized tables. Utilisation entier    to specify the prefix length, which is the number of prefix columns to compress.\nThe valid range of prefix length values is from 1 to the number of primary key columns minus 1. The default prefix length is the number of primary key columns minus 1.","Specify NOCOMPRESS to disable key compression in index-organized tables. This is the default.","Restriction on Key Compression of Index-organized Tables At the partition level, you can specify COMPRESS, but you cannot specify the prefix length with entier.\nindex_org_overflow_clause  le index_org_overflow_clause    lets you instruct the database that index-organized table data rows exceeding the specified threshold are placed in the data segment specified in this clause.","When you create an index-organized table, Oracle Database evaluates the maximum size of each column to estimate the largest possible row. If an overflow segment is needed but you have not specified OVERFLOW, then the database raises an error and does not execute the CREATE TABLE déclaration. This checking function guarantees that subsequent DML operations on the index-organized table will not fail because an overflow segment is lacking.","All physical attributes and storage characteristics you specify in this clause after the OVERFLOW keyword apply only to the overflow segment of the table. Physical attributes and storage characteristics for the index-organized table itself, default values for all its partitions, and values for individual partitions must be specified before this keyword.","If the index-organized table contains one or more LOB columns, then the LOBs will be stored out-of-line unless you specify OVERFLOW, even if they would otherwise be small enough be to stored inline.","Si table    is partitioned, then the database equipartitions the overflow data segments with the primary key index segments.","INCLUDING column_name Specify a column at which to divide an index-organized table row into index and overflow portions. The primary key columns are always stored in the index. column_name    can be either the last primary key column or any non primary key column. All non primary key columns that follow column_name    are stored in the overflow data segment.\nIf an attempt to divide a row at column_name    causes the size of the index portion of the row to exceed the specified or default PCTTHRESHOLD value, then the database breaks up the row based on the PCTTHRESHOLD valeur.\nRestriction on the INCLUDING Clause You cannot specify this clause for individual partitions of an index-organized table.\nexternal_table_clause \nUtilisez le external_table_clause    to create an external table, which is a read-only table whose metadata is stored in the database but whose data in stored outside the database. Among other capabilities, external tables let you query data without first loading it into the database.\nBecause external tables have no data in the database, you define them with a small subset of the clauses normally available when creating tables.","Within the relational_properties    clause, you can specify only colonne    et datatype.","Within the physical_properties_clause, you can specify only the organization of the table (ORGANIZATION EXTERNAL external_table_clause).","Within the table_properties    clause, you can specify only the parallel_clause. le parallel_clause    lets you parallelize subsequent queries on the external data and subsequent operations that populate the external table.","You can populate the external table at create time by using the COMME subquery    clause.","No other clauses are permitted in the same CREATE TABLE déclaration.\nRestrictions on External Tables External tables are subject to the following restrictions:","An external table cannot be a temporary table.","You cannot specify constraints on an external table.","An external table cannot have object type, varray, or LONG columns. However, you can populate LOB columns of an external table with varray or LONG data from an internal database table.","TYPE  TYPE access_driver_type    indicates the access driver of the external table. The access driver is the API that interprets the external data for the database. Oracle Database provides two access drivers: ORACLE_LOADER et ORACLE_DATAPUMP. If you do not specify TYPE, then the database uses ORACLE_LOADER as the default access driver. You must specify the ORACLE_DATAPUMP access driver if you specify the COMME subquery    clause to unload data from one Oracle Database and reload it into the same or a different Oracle Database.\nDEFAULT DIRECTORY DEFAULT DIRECTORY lets you specify a default directory object corresponding to a directory on the file system where the external data sources may reside. The default directory can also be used by the access driver to store auxiliary files such as error logs.\nACCESS PARAMETERS The optional ACCESS PARAMETERS clause lets you assign values to the parameters of the specific access driver for this external table.","le opaque_format_spec    lets you list the parameters and their values. Please refer to Oracle Database Utilities for information on how to specify values for the opaque_format_spec.\nField names specified in the opaque_format_spec    must match columns in the table definition. Oracle Database ignores any field in the opaque_format_spec    that is not matched by a column in the table definition.","USING CLOB subquery    lets you derive the parameters and their values through a subquery. The subquery cannot contain any set operators or an ORDER PAR clause. It must return one row containing a single item of datatype CLOB.","Whether you specify the parameters in an opaque_format_spec    or derive them using a subquery, the database does not interpret anything in this clause. It is up to the access driver to interpret this information in the context of the external data.\nEMPLACEMENT le EMPLACEMENT clause lets you specify one or more external data sources. Usually the location_specifier    is a file, but it need not be. Oracle Database does not interpret this clause. It is up to the access driver to interpret this information in the context of the external data. You cannot use wildcards in the location_specifier    to specify multiple files.\nREJECT LIMIT le REJECT LIMIT clause lets you specify how many conversion errors can occur during a query of the external data before an Oracle Database error is returned and the query is aborted. The default value is 0.\nCLUSTER Clause \nle CLUSTER clause indicates that the table is to be part of cluster. The columns listed in this clause are the table columns that correspond to the cluster columns. Generally, the cluster columns of a table are the column or columns that make up its primary key or a portion of its primary key. Please refer to CREATE CLUSTER for more information.\nSpecify one column from the table for each column in the cluster key. The columns are matched by position, not by name.\nA cluster table uses the space allocation of the cluster. Therefore, do not use the PCTFREE, PCTUSED, ou INITRANS parameters, the TABLESPACE clause, or the storage_clause    avec le CLUSTER clause.\nRestrictions on Cluster Tables Cluster tables are subject to the following restrictions:","Object tables and tables containing LOB columns cannot be part of a cluster.","You cannot specify CLUSTER with either ROWDEPENDENCIES ou NOROWDEPENDENCIES unless the cluster has been created with the same ROWDEPENDENCIES ou NOROWDEPENDENCIES réglage.","table_properties\nle table_properties    further define the characteristics of the table.\ncolumn_properties \nUtilisez le column_properties    clauses to specify the storage attributes of a column.\nobject_type_col_properties\nle object_type_col_properties    determine storage characteristics of an object column or attribute or of an element of a collection column or attribute.\ncolonne Pour colonne, specify an object column or attribute.\nsubstitutable_column_clause le substitutable_column_clause    indicates whether object columns or attributes in the same hierarchy are substitutable for each other. You can specify that a column is of a particular type, or whether it can contain instances of its subtypes, or both.","If you specify ÉLÉMENT, you constrain the element type of a collection column or attribute to a subtype of its declared type.","le IS OF [TYPE] (ONLY type) clause constrains the type of the object column to a subtype of its declared type.","NE PAS SUBSTITUTABLE À TOUT LEVELS indicates that the object column cannot hold instances corresponding to any of its subtypes. Also, substitution is disabled for any embedded object attributes and elements of embedded nested tables and varrays. The default is SUBSTITUTABLE À TOUT LEVELS.","Restrictions on the substitutable_column_clause This clause is subject to the following restrictions:","You cannot specify this clause for an attribute of an object column. However, you can specify this clause for a object type column of a relational table and for an object column of an object table if the substitutability of the object table itself has not been set.","For a collection type column, the only part of this clause you can specify is [NOT] SUBSTITUTABLE À TOUT LEVELS.","LOB_storage_clause\nle LOB_storage_clause    lets you specify the storage attributes of LOB data segments.\nFor a nonpartitioned table, this clause specifies the storage attributes of LOB data segments of the table.\nFor a partitioned table, Oracle Database implements this clause depending on where it is specified:","For a partitioned table specified at the table level&#8211;that is, when specified in the physical_properties    clause along with one of the partitioning clauses&#8211;this clause specifies the default storage attributes for LOB data segments associated with each partition or subpartition. These storage attributes apply to all partitions or subpartitions unless overridden by a LOB_storage_clause    at the partition or subpartition level.","For an individual partition of a partitioned table&#8211;that is, when specified as part of a table_partition_description&#8211;this clause specifies the storage attributes of the data segments of the partition or the default storage attributes of any subpartitions of the partition. A partition-level LOB_storage_clause    overrides a table-level LOB_storage_clause.","For an individual subpartition of a partitioned table&#8211;that is, when specified as part of subpartition_by_hash    ou subpartition_by_list&#8211;this clause specifies the storage attributes of the data segments of the subpartition. A subpartition-level LOB_storage_clause    overrides both partition-level and table-level LOB_storage_clauses.","LOB_item\nSpecify the LOB column name or LOB object attribute for which you are explicitly defining tablespace and storage characteristics that are different from those of the table. Oracle Database automatically creates a system-managed index for each LOB_item    you create.\nLOB_segname\nSpecify the name of the LOB data segment. You cannot use LOB_segname    if you specify more than one LOB_item.\nLOB_parameters \nle LOB_parameters    clause lets you specify various elements of LOB storage.\nENABLE STORAGE IN ROW  If you enable storage in row, then the LOB value is stored in the row (inline) if its length is less than approximately 4000 bytes minus system control information. This is the default.\nRestriction on Enabling Storage in Row For an index-organized table, you cannot specify this parameter unless you have specified an OVERFLOW segment in the index_org_table_clause.\nDISABLE STORAGE IN ROW  If you disable storage in row, then the LOB value is stored outside of the row out of line regardless of the length of the LOB value.\nThe LOB locator is always stored inline regardless of where the LOB value is stored. You cannot change the value of ESPACE DE RANGEMENT DANS ROW once it is set except by moving the table. See the move_table_clause    dans le MODIFIER TABLE documentation for more information.\nCHUNK entier  Specify the number of bytes to be allocated for LOB manipulation. Si entier    is not a multiple of the database block size, then the database rounds up in bytes to the next multiple. For example, if the database block size is 2048 and entier    is 2050, then the database allocates 4096 bytes (2 blocks). The maximum value is 32768 (32K), which is the largest Oracle Database block size allowed. The default CHUNK size is one Oracle Database block.\nThe value of CHUNK must be less than or equal to the value of NEXT, either the default value or that specified in the storage_clause. Si CHUNK exceeds the value of NEXT, then the database returns an error.You cannot change the value of CHUNK once it is set.\nPCTVERSION entier  Specify the maximum percentage of overall LOB storage space used for maintaining old versions of the LOB. The default value is 10, meaning that older versions of the LOB data are not overwritten until they consume 10% of the overall LOB storage space.\nYou can specify the PCTVERSION parameter whether the database is running in manual or automatic undo mode. PCTVERSION is the default in manual undo mode. RETENTION is the default in automatic undo mode. You cannot specify both PCTVERSION et RETENTION.\nRETENTION  Use this clause to indicate that Oracle Database should retain old versions of this LOB column. Oracle Database uses the value of the UNDO_RETENTION initialization parameter to determine the amount of committed undo data to retain in the database.\nYou can specify the RETENTION parameter only if the database is running in automatic undo mode. In this mode, RETENTION is the default value unless you specify PCTVERSION. You cannot specify both PCTVERSION et RETENTION.\nFREEPOOLS entier  Specify the number of groups of free lists for the LOB segment. Normalement entier    will be the number of instances in a Real Application Clusters environment or 1 for a single-instance database.\nYou can specify this parameter only if the database is running in automatic undo mode. In this mode, FREEPOOLS is the default unless you specify the FREELIST GROUPS parameter of the storage_clause. If you specify neither FREEPOOLS nor FREELIST GROUPS, then the database uses a default of FREEPOOLS 1 if the database is in automatic undo management mode and a default of FREELIST GROUPS 1 if the database is in manual undo management mode.\nRestriction on FREEPOOLS You cannot specify both FREEPOOLS et le FREELIST GROUPS parameter of the storage_clause.\nvarray_col_properties \nle varray_col_properties    let you specify separate storage characteristics for the LOB in which a varray will be stored. Si varray_item    is a multilevel collection, then the database stores all collection items nested within varray_item    in the same LOB in which varray_item    is stored.","For a nonpartitioned table&#8211;that is, when specified in the physical_properties    clause without any of the partitioning clauses&#8211;this clause specifies the storage attributes of the LOB data segments of the varray.","For a partitioned table specified at the table level&#8211;that is, when specified in the physical_properties    clause along with one of the partitioning clauses&#8211;this clause specifies the default storage attributes for the varray LOB data segments associated with each partition (or its subpartitions, if any).","For an individual partition of a partitioned table&#8211;that is, when specified as part of a table_partition_description&#8211;this clause specifies the storage attributes of the varray LOB data segments of that partition or the default storage attributes of the varray LOB data segments of any subpartitions of this partition. A partition-level varray_col_properties    overrides a table-level varray_col_properties.","For an individual subpartition of a partitioned table&#8211;that is, when specified as part of subpartition_by_hash    ou subpartition_by_list&#8211;this clause specifies the storage attributes of the varray data segments of this subpartition. A subpartition-level varray_col_properties    overrides both partition-level and table-level varray_col_properties.","STORE AS LOB Clause If you specify STORE COMME LOB:","If the maximum varray size is less than 4000 bytes, then the database stores the varray as an inline LOB unless you have disabled storage in row.","If the maximum varray size is greater than 4000 bytes or if you have disabled storage in row, then the database stores in the varray as an out-of-line LOB.","If you do not specify STORE COMME LOB, then storage is based on the maximum possible size of the varray rather than on the actual size of a varray column. The maximum size of the varray is the number of elements times the element size, plus a small amount for system control information. If you omit this clause:","If the maximum size of the varray is less than 4000 bytes, then the database does not store the varray as a LOB, but as inline data.","If the maximum size is greater than 4000 bytes, then the database always stores the varray as a LOB.","If the actual size is less than 4000 bytes, it is stored as an inline LOB","If the actual size is greater than 4000 bytes, it is stored as an out-of-line LOB, as is true for other LOB columns.","Restriction on Storing Varrays as LOBs You cannot specify the TABLESPACE parameter of LOB_parameters    as part of this clause. The LOB tablespace for a varray defaults to the tablespace of the containing table or table partition.\nsubstitutable_column_clause le substitutable_column_clause    has the same behavior as described for object_type_col_properties.\nnested_table_col_properties \nle nested_table_col_properties    let you specify separate storage characteristics for a nested table, which in turn enables you to define the nested table as an index-organized table. Unless you explicitly specify otherwise in this clause:","For a nonpartitioned table, the storage table is created in the same schema and the same tablespace as the parent table.","For a partitioned table, the storage table is created in the default tablespace of the schema.","In either case, the storage table uses default storage characteristics, and stores the nested table values of the column for which it was created.","You must include this clause when creating a table with columns or column attributes whose type is a nested table. Clauses within nested_table_col_properties    that function the same way they function for the parent table are not repeated here.\nnested_item Specify the name of a column, or of a top-level attribute of the object type of the tables, whose type is a nested table.\nCOLUMN_VALUE If the nested table is a multilevel collection, then the inner nested table or varray may not have a name. In this case, specify COLUMN_VALUE in place of the nested_item    name.\nstorage_table Specify the name of the table where the rows of nested_item    reside.\nYou cannot query or perform DML statements on storage_table    directly, but you can modify its storage characteristics by specifying its name in an MODIFIER TABLE déclaration.\nRestriction on the Storage Table You cannot partition the storage table of a nested table.","Voir également:\nALTER TABLE for information about modifying nested table column storage characteristics\nRETURN AS Specify what Oracle Database returns as the result of a query.","VALUE returns a copy of the nested table itself.","LOCATOR returns a collection locator to the copy of the nested table.\nThe locator is scoped to the session and cannot be used across sessions. Unlike a LOB locator, the collection locator cannot be used to modify the collection instance.","If you do not specify the segment_attributes_clause    ou la LOB_storage_clause, then the nested table is heap organized and is created with default storage characteristics.\nRestrictions on Nested Table Column Properties Nested table column properties are subject to the following restrictions:","You cannot specify this clause for a temporary table.","You cannot specify the oid_clause.","At create time, you cannot use object_properties    to specify an out_of_line_ref_constraint, inline_ref_constraint, or foreign key constraint for the attributes of a nested table. However, you can modify a nested table to add such constraints using MODIFIER TABLE.","XMLType_column_properties \nle XMLType_column_properties    let you specify storage attributes for an XMLTYPE column.\nXMLType_storage XMLType columns can be stored either in LOB or object-relational columns.","Specify STORE COMME OBJECT RELATIONAL if you want the database to store the XMLType data in object-relational columns. Storing data objects relationally lets you define indexes on the relational columns and enhances query performance.\nIf you specify object-relational storage, then you must also specify the XMLSchema_spec    clause.","Specify STORE COMME CLOB if you want the database to store the XMLType data in a CLOB column. Storing data in a CLOB column preserves the original content and enhances retrieval time.\nIf you specify LOB storage, then you can specify either LOB parameters or the XMLSchema_spec    clause, but not both. Specify the XMLSchema_spec    clause if you want to restrict the table or column to particular schema-based XML instances.","XMLSchema_spec This clause lets you specify the URL of a registered XMLSchema, either in the XMLSCHEMA clause or as part of the ÉLÉMENT clause, and an XML element name. You must specify an element, although the XMLSchema URL is optional. If you do specify an XMLSchema URL, then you must already have registered the XMLSchema using the DBMS_XMLSCHEMA package.\ntable_partitioning_clauses \nUtilisez le table_partitioning_clauses    to create a partitioned table.\nRestrictions on Partitioning in General All partitioning is subject to the following restrictions:\nThe storage of partitioned database entities in tablespaces of different block sizes is subject to several restrictions. Please refer to Oracle Database Administrator&#39;s Guide for a discussion of these restrictions.\nrange_partitioning\nUtilisez le range_partitioning    clause to partition the table on ranges of values from the column list. For an index-organized table, the column list must be a subset of the primary key columns of the table.\ncolonne\nSpecify an ordered list of columns used to determine into which partition a row belongs. These columns are the partitioning key.\nRestriction on Partitioning Key Columns The columns in the column list can be of any built-in datatype except ROWID, LONG, LOB, ou TIMESTAMP AVEC TEMPS ZONE. However, columns of TIMESTAMP ou TIMESTAMP AVEC LOCAL TEMPS ZONE can be used in the partitioning key.\nPARTITION cloison \nThe name cloison    must conform to the rules for naming schema objects and their part as described in &quot;Schema Object Naming Rules&quot;. If you omit cloison, then the database generates a name with the form SYS_Pn.","You can specify up to a total of 1024K-1 partitions and subpartitions. For a discussion of factors that might impose practical limits less than this number, please refer to Oracle Database Administrator&#39;s Guide.","You can create a partitioned table with just one partition. However, this is different from a nonpartitioned table. For instance, you cannot add a partition to a nonpartitioned table.","range_values_clause \nSpecify the noninclusive upper bound for the current partition. The value list is an ordered list of literal values corresponding to the column list in the range_partitioning    clause. You can substitute the keyword MAXVALUE for any literal in in the value list. MAXVALUE specifies a maximum value that will always sort higher than any other value, including null.\nSpecifying a value other than MAXVALUE for the highest partition bound imposes an implicit integrity constraint on the table.","Remarque:\nSi table    is partitioned on a DATE column, and if the date format does not specify the first two digits of the year, then you must use the TO_DATE function with the YYYY 4-character format mask for the year. le RRRR format mask is not supported in this clause. The date format is determined implicitly by NLS_TERRITORY or explicitly by NLS_DATE_FORMAT. Please refer to Oracle Database Globalization Support Guide for more information on these initialization parameters.\ntable_partition_description\nUtilisez le table_partition_description    to define the physical and storage characteristics of the table.\nle segment_attributes_clause    et table_compression    clause have the same function as described for the table_properties    of the table as a whole.\nle key_compression    clause and OVERFLOW clause have the same function as described for the index_org_table_clause .\nLOB_storage_clause le LOB_storage_clause    lets you specify LOB storage characteristics for one or more LOB items in this partition or in any list subpartitions of this partition. If you do not specify the LOB_storage_clause    for a LOB item, then the database generates a name for each LOB data partition. The system-generated names for LOB data and LOB index partitions take the form SYS_LOB_Pn    et SYS_IL_Pn, respectivement. The corresponding system-generated names for LOB data and index subpartitions are SYS_LOB_SUBPn    et SYS_IL_SUBPn, respectively\nvarray_col_properties le varray_col_properties    let you specify storage characteristics for one or more varray items in this partition or in any list subpartitions of this partition.\nRestriction on table_partition_description le partition_level_subpartition    clause is valid only for composite-partitioned tables. See partition_level_subpartition.\nhash_partitioning \nUtilisez le hash_partitioning    clause to specify that the table is to be partitioned using the hash method.\nOracle Database assigns rows to partitions using a hash function on values found in columns designated as the partitioning key. You can specify individual hash partitions or you can specify how many subpartitions the database should create.\ncolonne Specify an ordered list of columns used to determine into which partition a row belongs (the partitioning key).\nindividual_hash_partitions   Use this clause to specify individual partitions by name. If you omit the partition name, then the database assigns partition names of the form SYS_Pn.\nRestriction on Specifying Individual Hash Partitions The only clause you can specify in the partitioning_storage_clause    est le TABLESPACE clause.","Remarque:\nIf your enterprise has or will have databases using different character sets, use caution when partitioning on character columns. The sort sequence of characters is not identical in all character sets. Please refer to Oracle Database Globalization Support Guide for more information on character set support.\nhash_partitions_by_quantity   Alternatively, you can specify the number of partitions. In this case, the database assigns partition names of the form SYS_Pn. le STORE DANS clause specifies one or more tablespaces where the hash partitions are to be stored. The number of tablespaces does not have to equal the number of partitions. If the number of partitions is greater than the number of tablespaces, then the database cycles through the names of the tablespaces.\nFor both methods of hash partitioning, for optimal load balancing you should specify a number of partitions that is a power of 2. Also for both methods of hash partitioning, the only attribute you can specify for hash partitions is TABLESPACE. Hash partitions inherit all other attributes from table-level defaults.\nTablespace storage specified at the table level is overridden by tablespace storage specified at the partition level, which in turn is overridden by tablespace storage specified at the subpartition level.\ndans le individual_hash_partitions    clause, the TABLESPACE clause of the partitioning_storage_clause    determines tablespace storage only for the individual partition being created. dans le hash_partitions_by_quantity    clause, the STORE DANS clause determines placement of partitions as the table is being created and the default storage location for subsequently added partitions.\nRestrictions on Hash Partitioning Hash partitioning is subject to the following restrictions:","You cannot specify more than 16 partitioning columns.","The column list cannot contain the ROWID ou UROWID pseudocolumns.","The column list can be of any built-in datatype except ROWID, LONG, or LOB.","list_partitioning \nUtilisez le list_partitioning    clause to partition the table on lists of literal values from colonne. List partitioning is useful for controlling how individual rows map to specific partitions.\nIf you omit the partition name, then the database assigns partition names of the form SYS_Pn.\nlist_values_clause le list_values_clause    of each partition must have at least one value. No value, including NULL, can appear in more than one partition. List partitions are not ordered.\nIf you specify the literal NULL for a partition value in the VALUES clause, then to access data in that partition in subsequent queries, you must use an IS NULL condition in the OÙ clause, rather than a comparison condition.\nle DEFAULT keyword creates a partition into which the database will insert any row that does not map to another partition. Therefore, you can specify DEFAULT for only one partition, and you cannot specify any other values for that partition. Further, the default partition must be the last partition you define. The use of DEFAULT is similar to the use of MAXVALUE for range partitions.\nThe string comprising the list of values for each partition can be up to 4K bytes. The total number of values for all partitions cannot exceed 64K-1.\nRestrictions on List Partitioning List partitioning is subject to the following restrictions:","You cannot subpartition a list partition.","You can specify only one partitioning key in column_list, and it cannot be a LOB column.","If the partitioning key is an object type column, then you can partition on only one attribute of the column type.","Each value in the list_values_clause    must be unique among all partitions of table.","composite_partitioning \nUtilisez le composite_partitioning    clause to first partition table    by range, and then partition the partitions further into hash or list subpartitions. This combination of range partitioning and hash or list subpartitioning is called composite partitioning.\nAfter establishing the type of subpartitioning you want for each composite partition, using the subpartition_by_hash    ou subpartition_by_list    clause, you must define each of the range partitions.","You must specify the range_values_clause    , which has the same requirements as for noncomposite range partitions.","Utilisez le table_partition_description    to define the physical and storage characteristics of the each partition. Within the table_partition_description, you can use the partition_level_subpartition    clause to define the properties of individual subpartitions.","If you omit the partition name, then the database generates a name with the form SYS_Pn.","The only characteristic you can specify for a hash or list subpartition or a LOB subpartition is TABLESPACE.","Restriction on Composite Partitioning You cannot specify composite partitioning for an index-organized table. Therefore, the OVERFLOW clause of the table_partition_description    is not valid for composite-partitioned tables.\nsubpartition_template le subpartition_template    is an optional element of both range-hash and range-list composite partitioning. The template lets you define default subpartitions for each table partition. Oracle Database will create these default subpartitions in any partition for which you do not explicitly define subpartitions. This clause is useful for creating symmetric partitions. You can override this clause by explicitly defining subpartitions at the partition level, in the partition_level_subpartition    clause.\nWhen defining subpartitions with a template, you must specify a name for each subpartition.","Remarque:\nWhen you specify tablespace storage for the subpartition template, it does not override any tablespace storage you have specified explicitly for the partitions of table. To specify tablespace storage for subpartitions, do one of these things:","Omit tablespace storage at the partition level and specify tablespace storage in the subpartition template.","Define individual subpartitions with specific tablespace storage.","Restrictions on Subpartition Templates Subpartition templates are subject to the following restrictions:","For a range-hash composite-partitioned table, you cannot specify the list_values_clause.","For a range-list composite-partitioned table, you cannot specify the hash_subpartition_quantity    clause.","For both range-hash and range-list partitioned tables, the only clause of the partitioning_storage_clause    you can specify for subpartitions is the TABLESPACE clause.","If you specify TABLESPACE for one subpartition, then you must specify TABLESPACE for all subpartitions. You can specify the same tablespace for more than one subpartition.","If you specify TABLESPACE for one LOB subpartition, then you must specify TABLESPACE for all of the LOB subpartitions of that LOB column. You can specify the same tablespace for more than one LOB subpartition.","If you specify separate LOB storage for list subpartitions using the partitioning_storage_clause, either in the subpartition_template    or when defining individual subpartitions, then you must specify LOB_segname    for both LOB and varray columns.","subpartition_by_hash\nUtilisez le subpartition_by_hash    clause to indicate that the database should subpartition by hash each partition in table. The subpartitioning column list is unrelated to the partitioning key but is subject to the same restrictions (see colonne).\nYou can define the subpartitions using the subpartition_template    ou la SUBPARTITIONS quantité    clause. See subpartition_template. In either case, for optimal load balancing you should specify a number of partitions that is a power of 2.\nSUBPARTITIONS quantité Specify the default number of subpartitions in each partition of table, and optionally one or more tablespaces in which they are to be stored.\nThe default value is 1. If you omit both this clause and subpartition_template, then the database will create each partition with one hash subpartition unless you subsequently specify the partition_level_subpartition    clause.\nRestriction on Hash Subpartitioning In addition to the restrictions for composite partitioning in general (see composite_partitioning ), for hash subpartitioning in subpartition_template, you cannot specify the list_values_clause.\nsubpartition_by_list \nUtilisez le subpartition_by_list    clause to indicate that the database should subpartition each partition in table    by literal values from colonne.\nIf you omit subpartition_template, then you can define list subpartitions individually for each partition using the partition_level_subpartition    clause of table_partition_description. If you omit both subpartition_template    et partition_level_subpartition, then the database creates a single DEFAULT subpartition.\nRestrictions on List Subpartitioning List subpartitioning is subject to the following restrictions:\nIn addition to the restrictions for composite partitioning in general (see composite_partitioning ), for list subpartitioning:","You can specify only one subpartitioning key column.","You must specify the list_values_clause, which is subject to the same requirements as at the table level.","dans le subpartition_template, you cannot specify the hash_subpartition_quantity    clause.","partition_level_subpartition\nThis clause of the table_partition_description    is valid only for composite-partitioned tables. This clause lets you specify hash or list subpartitions for cloison. This clause overrides the default settings established for range-hash composite partitions in the subpartition_by_hash    clause or for range-hash or range-list composite partitions in the subpartition_template.\nNotes on Composite Partitions The following notes apply to composite partitions:","You can specify the number of subpartitions and optionally one or more tablespaces where they are to be stored. In this case, Oracle Database assigns subpartition names of the form SYS_SUBPn. The number of tablespaces does not have to equal the number of subpartitions. If the number of partitions is greater than the number of tablespaces, then the database cycles through the names of the tablespaces.","Alternatively, you can use the subpartition_spec    to specify individual subpartitions by name, and optionally the tablespace where each should be stored.","If you omit partition_level_subpartition    and if you have created a subpartition template, then the database uses the template to create subpartitions. If you have not created a subpartition template, then the database creates one hash subpartition or one DEFAULT list subpartition.","If you omit partition_level_subpartition    entirely, then the database assigns subpartition names as follows:","If you have specified a subpartition template et you have specified partition names, then the database generates subpartition names of the form partition_name    underscore (_) subpartition_name    (for example, P1_SUB1).","If you have not specified a subpartition template ou if you have specified a subpartition template but did not specify partition names, then the database generates subpartition names of the form SYS_SUBPn.","Dans partition_spec, the only clause of the partitioning_storage_clause    you can specify is the TABLESPACE clause.","For range-hash composite partitions, the list_values_clause    de subpartition_spec    is not relevant and is invalid.\nFor range-list composite partitions:","le hash_subpartition_quantity    is not relevant, so you specify subpartition_spec.","Within subpartition_spec, you must specify the list_values_clause    for each subpartition, and the values you specify for each subpartition cannot exist in any other subpartition of the same partition.","CACHE | NOCACHE | CACHE READS\nUtilisez le CACHE clauses to indicate how Oracle Database should store blocks in the buffer cache. If you specify neither CACHE nor NOCACHE, then:","Dans un CREATE TABLE statement, NOCACHE is the default","Dans un MODIFIER TABLE statement, the existing value is not changed.","CACHE For data that is accessed frequently, this clause indicates that the blocks retrieved for this table are placed at the most recently used end of the least recently used (LRU) list in the buffer cache when a full table scan is performed. This attribute is useful for small lookup tables.\nAs a parameter in the LOB_storage_clause, CACHE specifies that the database places LOB data values in the buffer cache for faster access.\nRestriction on CACHE You cannot specify CACHE for an index-organized table. However, index-organized tables implicitly provide CACHE behavior.\nNOCACHE For data that is not accessed frequently, this clause indicates that the blocks retrieved for this table are placed at the least recently used end of the LRU list in the buffer cache when a full table scan is performed. NOCACHE is the default for LOB storage.\nAs a parameter in the LOB_storage_clause, NOCACHE specifies that the LOB value either is not brought into the buffer cache or is brought into the buffer cache and placed at the least recently used end of the LRU list. The latter is the default behavior.\nRestriction on NOCACHE You cannot specify NOCACHE for an index-organized table.\nCACHE READS CACHE READS applies only to LOB storage. It specifies that LOB values are brought into the buffer cache only during read operations but not during write operations.","Voir également:\nlogging_clause    for a description of the logging_clause    when specified as part of LOB_parameters\nparallel_clause \nle parallel_clause    lets you parallelize creation of the table and set the default degree of parallelism for queries and the DML INSÉRER, UPDATE, DELETE, et MERGE after table creation.","Remarque:\nThe syntax of the parallel_clause    supersedes syntax appearing in earlier releases of Oracle. Superseded syntax is still supported for backward compatibility but may result in slightly different behavior from that documented.\nNOPARALLEL Specify NOPARALLEL for serial execution. This is the default.\nPARALLEL  Specify PARALLEL if you want Oracle to select a degree of parallelism equal to the number of CPUs available on all participating instances times the value of the PARALLEL_THREADS_PER_CPU initialization parameter.\nPARALLEL entier Specification of entier    indicates the degree of parallelism, which is the number of parallel threads used in the parallel operation. Each parallel thread may use one or two parallel execution servers. Normally Oracle calculates the optimum degree of parallelism, so it is not necessary for you to specify entier.\nNOROWDEPENDENCIES | ROWDEPENDENCIES \nThis clause lets you specify whether table    will use row-level dependency tracking. With this feature, each row in the table has a system change number (SCN) that represents a time greater than or equal to the commit time of the last transaction that modified the row. You cannot change this setting after table    is created.\nROWDEPENDENCIES Specify ROWDEPENDENCIES if you want to enable row-level dependency tracking. This setting is useful primarily to allow for parallel propagation in replication environments. It increases the size of each row by 6 bytes.\nNOROWDEPENDENCIES Specify NOROWDEPENDENCIES if you do not want table    to use the row-level dependency tracking feature. This is the default.\nMONITORING | NOMONITORING \nIn earlier releases, you could use these clauses to start or stop the collection of modification statistics on this table. These clauses have been deprecated.","If you formerly collected modification statistics on tables by using the DBMS_STATS package in GATHER AUTO ou GATHER STALE mode, then you no longer have to do anything. Oracle Database now collects these statistics automatically, and the MONITORING et NOMONITORING keywords in existing code will not cause an error.","If, for performance reasons, you do not want to collect modification statistics on any tables, then you should set the STATISTICS_LEVEL initialization parameter to BASIC. Be aware, however, that doing so disables a number of manageability features.","Voir également:\nOracle Database Reference for information on the STATISTICS_LEVEL initialization parameter, including its affect on Oracle Database manageability features\nenable_disable_clause \nle enable_disable_clause    lets you specify whether Oracle Database should apply a constraint. By default, constraints are created in ENABLE VALIDATE Etat.\nRestrictions on Enabling and Disabling Constraints Enabling and disabling constraints are subject to the following restrictions:","To enable or disable any integrity constraint, you must have defined the constraint in this or a previous statement.","You cannot enable a foreign key constraint unless the referenced unique or primary key constraint is already enabled.","ENABLE Clause Use this clause if you want the constraint to be applied to the data in the table. This clause is described fully in &quot;ENABLE Clause&quot; in the documentation on constraints.\nDISABLE Clause Use this clause if you want to disable the integrity constraint. This clause is described fully in &quot;DISABLE Clause&quot; in the documentation on constraints.\nUNIQUE  le UNIQUE clause lets you enable or disable the unique constraint defined on the specified column or combination of columns.\nPRIMARY KEY  le PRIMARY KEY clause lets you enable or disable the primary key constraint defined on the table.\nCONSTRAINT  le CONSTRAINT clause lets you enable or disable the integrity constraint named constraint.\nKEEP | DROP INDEX This clause lets you either preserve or drop the index Oracle Database has been using to enforce a unique or primary key constraint.\nRestriction on Preserving and Dropping Indexes You can specify this clause only when disabling a unique or primary key constraint.\nusing_index_clause  le using_index_clause    lets you specify an index for Oracle Database to use to enforce a unique or primary key constraint, or lets you instruct the database to create the index used to enforce the constraint. This clause is discussed fully in using_index_clause    in the documentation on constraints.\nCASCADE  Specify CASCADE to disable any integrity constraints that depend on the specified integrity constraint. To disable a primary or unique key that is part of a referential integrity constraint, you must specify this clause.\nRestriction on CASCADE You can specify CASCADE only if you have specified DISABLE.\nrow_movement_clause \nle row_movement_clause    lets you specify whether the database can move a table row. It is possible for a row to move, for example, during table compression or an update operation on partitioned data.","Caution:\nIf you need static rowids for data access, do not enable row movement. For a normal (heap-organized) table, moving a row changes the rowid of the row. For a moved row in an index-organized table, the logical rowid remains valid, although the physical guess component of the logical rowid becomes inaccurate.","Specify ENABLE to allow the database to move a row, thus changing the rowid.","Specify DISABLE if you want to prevent the database from moving a row, thus preventing a change of rowid.","If you omit this clause, then the database disables row movement.\nRestriction on Row Movement You cannot specify this clause for a nonpartitioned index-organized table.\nCOMME subquery \nSpecify a subquery to determine the contents of the table. The rows returned by the subquery are inserted into the table upon its creation.\nFor object tables, subquery    can contain either one expression corresponding to the table type, or the number of top-level attributes of the table type. Please refer to SELECT for more information.\nSi subquery    returns the equivalent of part or all of an existing materialized view, then the database may rewrite the query to use the materialized view in place of one or more tables specified in subquery.\nOracle Database derives datatypes and lengths from the subquery. Oracle Database follows the following rules for integrity constraints and other column and table attributes:","Oracle Database automatically defines on columns in the new table any NE PAS NULL constraints that were explicitly created on the corresponding columns of the selected table if the subquery selects the column rather than an expression containing the column. If any rows violate the constraint, then the database does not create the table and returns an error.","NE PAS NULL constraints that were implicitly created by Oracle Database on columns of the selected table (for example, for primary keys) are not carried over to the new table.","In addition, primary keys, unique keys, foreign keys, check constraints, partitioning criteria, indexes, and column default values are not carried over to the new table.","If the selected table is partitioned, you can choose whether the new table will be partitioned the same way, partitioned differently, or not partitioned. Partitioning is not carried over to the new table. Specify any desired partitioning as part of the CREATE TABLE statement before the COMME subquery    clause.","If all expressions in subquery    are columns, rather than expressions, then you can omit the columns from the table definition entirely. In this case, the names of the columns of table are the same as the columns in subquery.\nYou can use subquery    in combination with the TO_LOB function to convert the values in a LONG column in another table to LOB values in a column of the table you are creating.\nparallel_clause If you specify the parallel_clause    in this statement, then the database will ignore any value you specify for the INITIAL storage parameter and will instead use the value of the NEXT parameter.\nORDER BY le ORDER PAR clause lets you order rows returned by the subquery.\nWhen specified with CREATE TABLE, this clause does not necessarily order data across the entire table. For example, it does not order across partitions. Specify this clause if you intend to create an index on the same key as the ORDER PAR key column. Oracle Database will cluster data on the ORDER PAR key so that it corresponds to the index key.\nRestrictions on the Defining Query of a Table The table query is subject to the following restrictions:","The number of columns in the table must equal the number of expressions in the subquery.","The column definitions can specify only column names, default values, and integrity constraints, not datatypes.","You cannot define a foreign key constraint in a CREATE TABLE statement that contains COMME subquery. Instead, you must create the table without the constraint and then add it later with an MODIFIER TABLE déclaration.","object_table \nle OF clause lets you explicitly create an object table of type object_type. The columns of an object table correspond to the top-level attributes of type object_type. Each row will contain an object instance, and each instance will be assigned a unique, system-generated object identifier when a row is inserted. If you omit schema, then the database creates the object table in your own schema.\nObject tables, as well as XMLType tables, object views, and XMLType views, do not have any column names specified for them. Therefore, Oracle defines a system-generated pseudocolumn OBJECT_ID. You can use this column name in queries and to create object views with the AVEC OBJECT IDENTIFIER clause.\nobject_table_substitution \nUtilisez le object_table_substitution    clause to specify whether row objects corresponding to subtypes can be inserted into this object table.\nNOT SUBSTITUTABLE AT ALL LEVELS NE PAS SUBSTITUTABLE À TOUT LEVELS indicates that the object table being created is not substitutable. In addition, substitution is disabled for all embedded object attributes and elements of embedded nested tables and arrays. The default is SUBSTITUTABLE À TOUT LEVELS.\nobject_properties\nThe properties of object tables are essentially the same as those of relational tables. However, instead of specifying columns, you specify attributes of the object.\nPour attribute, specify the qualified column name of an item in an object.\noid_clause\nle oid_clause    lets you specify whether the object identifier of the object table should be system generated or should be based on the primary key of the table. The default is SYSTEM GENERATED.\nRestrictions on the oid_clause This clause is subject to the following restrictions:","You cannot specify OBJECT IDENTIFIER IS PRIMARY KEY unless you have already specified a PRIMARY KEY constraint for the table.","You cannot specify this clause for a nested table.","Remarque:\nA primary key object identifier is locally unique but not necessarily globally unique. If you require a globally unique identifier, then you must ensure that the primary key is globally unique.\noid_index_clause\nThis clause is relevant only if you have specified the oid_clause    comme SYSTEM GENERATED. It specifies an index, and optionally its storage characteristics, on the hidden object identifier column.\nPour indice, specify the name of the index on the hidden system-generated object identifier column. If you omit indice, then the database generates a name.\nphysical_properties et table_properties\nThe semantics of these clauses are documented in the corresponding sections under relational tables. See physical_properties    et table_properties.\nXMLType_table \nUtilisez le XMLType_table    syntax to create a table of datatype XMLType. Most of the clauses used to create an XMLType table have the same semantics that exist for object tables. The clauses specific to XMLType tables are described in this section.\nObject tables, as well as XMLType tables, object views, and XMLType views, do not have any column names specified for them. Therefore, Oracle defines a system-generated pseudocolumn OBJECT_ID. You can use this column name in queries and to create object views with the AVEC OBJECT IDENTIFIER clause.\nXMLType_storage\nThis clause lets you determine how Oracle Database manages the storage of the underlying columns.\nOBJECT RELATIONAL Specify OBJECT RELATIONAL if you want the database to store the XMLType data in object relational columns. If you specify OBJECT RELATIONAL, then you must also specify an XMLSchema in the XMLSchema_storage_clause, and you must already have registered the schema using the DBMS_XMLSCHEMA package. Oracle Database will create the table conforming to the registered schema.\nCLOB Specify CLOB if you want the database to store the XML data in a CLOB column. If you specify CLOB, then you may also specify either a LOB segment name, or the LOB_parameters    clause, or both.\nXMLSchema_spec\nThis clause lets you specify the URL of a registered XMLSchema, either in the XMLSCHEMA clause or as part of the ÉLÉMENT clause, and an XML element name. You must specify an element, although the XMLSchema URL is optional. If you do specify an XMLSchema URL, then you must already have registered the XMLSchema using the DBMS_XMLSCHEMA package.\nExemples \nGeneral Examples\nThis statement shows how the employees table owned by the sample human resources (hr) schema was created. A hypothetical name is given to the table and constraints so that you can duplicate this example in your test database:","CREATE TABLE employees_demo\n    ( employee_id    NUMBER(6)\n    , first_name     VARCHAR2(20)\n    , last_name      VARCHAR2(25) \n         CONSTRAINT emp_last_name_nn_demo NOT NULL\n    , email          VARCHAR2(25) \n         CONSTRAINT emp_email_nn_demo     NOT NULL\n    , phone_number   VARCHAR2(20)\n    , hire_date      DATE  DEFAULT SYSDATE \n         CONSTRAINT emp_hire_date_nn_demo  NOT NULL\n    , job_id         VARCHAR2(10)\n       CONSTRAINT     emp_job_nn_demo  NOT NULL\n    , salary         NUMBER(8,2)\n       CONSTRAINT     emp_salary_nn_demo  NOT NULL\n    , commission_pct NUMBER(2,2)\n    , manager_id     NUMBER(6)\n    , department_id  NUMBER(4)\n    , dn             VARCHAR2(300)\n    , CONSTRAINT     emp_salary_min_demo\n                     CHECK (salary &gt; 0) \n    , CONSTRAINT     emp_email_uk_demo\n                     UNIQUE (email)\n    ) ;","This table contains twelve columns. le employee_id column is of datatype NUMBER. le hire_date column is of datatype DATE and has a default value of SYSDATE. le last_name column is of type VARCHAR2 and has a NE PAS NULL constraint, and so on.\nStorage Example To define the same employees_demo table in the example tablespace with a small storage capacity and limited allocation potential, issue the following statement:","CREATE TABLE employees_demo\n    ( employee_id    NUMBER(6)\n    , first_name     VARCHAR2(20)\n    , last_name      VARCHAR2(25) \n         CONSTRAINT emp_last_name_nn_demo NOT NULL\n    , email          VARCHAR2(25) \n         CONSTRAINT emp_email_nn_demo     NOT NULL\n    , phone_number   VARCHAR2(20)\n    , hire_date      DATE  DEFAULT SYSDATE \n         CONSTRAINT emp_hire_date_nn_demo  NOT NULL\n    , job_id         VARCHAR2(10)\n       CONSTRAINT     emp_job_nn_demo  NOT NULL\n    , salary         NUMBER(8,2)\n       CONSTRAINT     emp_salary_nn_demo  NOT NULL\n    , commission_pct NUMBER(2,2)\n    , manager_id     NUMBER(6)\n    , department_id  NUMBER(4)\n    , dn             VARCHAR2(300)\n    , CONSTRAINT     emp_salary_min_demo\n                     CHECK (salary &gt; 0) \n    , CONSTRAINT     emp_email_uk_demo\n                     UNIQUE (email)\n    )\n   TABLESPACE example \n   STORAGE (INITIAL     6144  \n            NEXT        6144 \n            MINEXTENTS     1  \n            MAXEXTENTS     5 );","Temporary Table Example The following statement creates a temporary table today_sales for use by sales representatives in the sample database. Each sales representative session can store its own sales data for the day in the table. The temporary data is deleted at the end of the session.","CREATE GLOBAL TEMPORARY TABLE today_sales\n   ON COMMIT PRESERVE ROWS \n   AS SELECT * FROM orders WHERE order_date = SYSDATE;","Substitutable Table and Column Examples The following statement creates a substitutable table from the person_t type, which was created in &quot;Type Hierarchy Example&quot;:","CREATE TABLE persons OF person_t;","The following statement creates a table with a substitutable column of type person_t:","CREATE TABLE books (title VARCHAR2(100), author person_t);","When you insert into persons ou books, you can specify values for the attributes of person_t or any of its subtypes. Examples of insert statements appear in &quot;Inserting into a Substitutable Tables and Columns: Examples&quot;.\nYou can extract data from such tables using built-in functions and conditions. For examples, see the functions TREAT and SYS_TYPEID, and the &quot;IS OF type Condition&quot; condition.\nPARALLEL Example The following statement creates a table using an optimum number of parallel execution servers to scan employees and to populate dept_80:","CREATE TABLE dept_80\n   PARALLEL\n   AS SELECT * FROM employees\n   WHERE department_id = 80;","Using parallelism speeds up the creation of the table, because the database uses parallel execution servers to create the table. After the table is created, querying the table is also faster, because the same degree of parallelism is used to access the table.\nNOPARALLEL Example The following statement creates the same table serially. Subsequent DML and queries on the table will also be serially executed.","CREATE TABLE dept_80\n   AS SELECT * FROM employees\n   WHERE department_id = 80;","ENABLE VALIDATE Example The following statement shows how the sample table departments was created. The example defines a NE PAS NULL constraint, and places it in ENABLE VALIDATE Etat. A hypothetical name is given to the table so that you can duplicate this example in your test database:","CREATE TABLE departments_demo\n    ( department_id    NUMBER(4)\n    , department_name  VARCHAR2(30)\n           CONSTRAINT  dept_name_nn  NOT NULL\n    , manager_id       NUMBER(6)\n    , location_id      NUMBER(4)\n    , dn               VARCHAR2(300)\n    ) ;","DISABLE Example The following statement creates the same departments_demo table but also defines a disabled primary key constraint:","CREATE TABLE departments_demo\n    ( department_id    NUMBER(4)   PRIMARY KEY DISABLE\n    , department_name  VARCHAR2(30)\n           CONSTRAINT  dept_name_nn  NOT NULL\n    , manager_id       NUMBER(6)\n    , location_id      NUMBER(4)\n    , dn               VARCHAR2(300)\n    ) ;","Nested Table Example The following statement shows how the sample table pm.print_media was created with a nested table column ad_textdocs_ntab:","CREATE TABLE print_media\n    ( product_id        NUMBER(6)\n    , ad_id             NUMBER(6)\n    , ad_composite      BLOB\n    , ad_sourcetext     CLOB\n    , ad_finaltext      CLOB\n    , ad_fltextn        NCLOB\n    , ad_textdocs_ntab  textdoc_tab\n    , ad_photo          BLOB\n    , ad_graphic        BFILE\n    , ad_header         adheader_typ\n    ) NESTED TABLE ad_textdocs_ntab STORE AS textdocs_nestedtab;","Multi-level Collection Example The following example shows how an account manager might create a table of customers using two levels of nested tables:","CREATE TYPE phone AS OBJECT (telephone NUMBER);\n/\nCREATE TYPE phone_list AS TABLE OF phone;\n/\nCREATE TYPE my_customers AS OBJECT (\n   cust_name VARCHAR2(25),\n   phones phone_list);\n/\nCREATE TYPE customer_list AS TABLE OF my_customers;\n/\nCREATE TABLE business_contacts (\n   company_name VARCHAR2(25),\n   company_reps customer_list)\n   NESTED TABLE company_reps STORE AS outer_ntab\n   (NESTED TABLE phones STORE AS inner_ntab);","The following variation of this example shows how to use the COLUMN_VALUE keyword if the inner nested table has no column or attribute name:","CREATE TYPE phone AS TABLE OF NUMBER;    \n/\nCREATE TYPE phone_list AS TABLE OF phone;\n/\nCREATE TABLE my_customers (\n   name VARCHAR2(25),\n   phone_numbers phone_list)\n   NESTED TABLE phone_numbers STORE AS outer_ntab\n   (NESTED TABLE COLUMN_VALUE STORE AS inner_ntab);","LOB Column Example The following statement is a variation of the statement that created the pm.print_media table with some added LOB storage characteristics:","CREATE TABLE print_media_new\n    ( product_id        NUMBER(6)\n    , ad_id             NUMBER(6)\n    , ad_composite      BLOB\n    , ad_sourcetext     CLOB\n    , ad_finaltext      CLOB\n    , ad_fltextn        NCLOB\n    , ad_textdocs_ntab  textdoc_tab\n    , ad_photo          BLOB\n    , ad_graphic        BFILE\n    , ad_header         adheader_typ\n    , press_release     LONG\n    ) NESTED TABLE ad_textdocs_ntab STORE AS textdocs_nestedtab_new\n    LOB (ad_sourcetext, ad_finaltext) STORE AS\n      (TABLESPACE example\n       STORAGE (INITIAL 6144 NEXT 6144)\n       CHUNK 4000\n       NOCACHE LOGGING);","In the example, the database rounds the value of CHUNK up to 4096 (the nearest multiple of the block size of 2048).\nIndex-Organized Table Example The following statement is a variation of the sample table hr.countries, which is index organized:","CREATE TABLE countries_demo\n    ( country_id      CHAR(2)\n      CONSTRAINT country_id_nn_demo NOT NULL\n    , country_name    VARCHAR2(40)\n    , currency_name   VARCHAR2(25)\n    , currency_symbol VARCHAR2(3)\n    , region          VARCHAR2(15)\n    , CONSTRAINT    country_c_id_pk_demo\n                    PRIMARY KEY (country_id ) )\n    ORGANIZATION INDEX \n    INCLUDING   country_name \n    PCTTHRESHOLD 2 \n    ESPACE DE RANGEMENT\n     ( INITIAL  4K \n      NEXT  2K \n      PCTINCREASE 0 \n      MINEXTENTS 1 \n      MAXEXTENTS 1 ) \n   OVERFLOW \n    ESPACE DE RANGEMENT\n      ( INITIAL  4K \n        NEXT  2K \n        PCTINCREASE 0 \n        MINEXTENTS 1 \n        MAXEXTENTS 1 );","External Table Example The following statement creates an external table that represents a subset of the sample table hr.departments. le opaque_format_spec    is shown in italics. Please refer to Oracle Database Utilities for information on the ORACLE_LOADER access driver and how to specify values for the opaque_format_spec.","CREATE TABLE dept_external (\n   deptno     NUMBER(6),\n   dname      VARCHAR2(20),\n   loc        VARCHAR2(25) \n)\nORGANIZATION EXTERNAL\n(TYPE oracle_loader\n DEFAULT DIRECTORY admin\n ACCESS PARAMETERS\n (\n  RECORDS DELIMITED BY newline\n        BADFILE &#39;ulcase1.bad&#39;\n        DISCARDFILE &#39;ulcase1.dis&#39;\n        LOGFILE &#39;ulcase1.log&#39;\n        SKIP 20\n        FIELDS TERMINATED BY &quot;,&quot;  OPTIONALLY ENCLOSED BY &#39;&quot;&#39;\n        (\n            deptno     INTEGER EXTERNAL(6),\n            dname      CHAR(20),\n            loc        CHAR(25)\n  )\n )\n LOCATION (&#39;ulcase1.ctl&#39;)\n)\nREJECT LIMIT UNLIMITED;","XMLType Examples\nThis section contains brief examples of creating an XMLType table or XMLType column. For a more expanded version of these examples, please refer to &quot;Using XML in SQL Statements&quot;.\nXMLType Table Examples The following example creates a very simple XMLType table with one implicit CLOB column:","CREATE TABLE xwarehouses OF XMLTYPE;","Because Oracle Database implicitly stores the data in a CLOB column, it is subject to all of the restrictions on LOB columns. To avoid these restrictions, you can create an XMLSchema-based table, as shown in the following example. The XMLSchema must already have been created (see &quot;Using XML in SQL Statements&quot; for more information):","CREATE TABLE xwarehouses OF XMLTYPE\n   XMLSCHEMA &quot;http://www.oracle.com/xwarehouses.xsd&quot;\n   ELEMENT &quot;Warehouse&quot;;","You can define constraints on an XMLSchema-based table, and you can also create indexes on XMLSchema-based tables, which greatly enhance subsequent queries. You can create object-relational views on XMLType tables, and you can create XMLType views on object-relational tables.\nXMLType Column Examples The following example creates a table with an XMLType column stored as a CLOB. This table does not require an XMLSchema, so the content structure is not predetermined:","CREATE TABLE xwarehouses (\n   warehouse_id        NUMBER,\n   warehouse_spec      XMLTYPE)\n   XMLTYPE warehouse_spec STORE AS CLOB\n   (TABLESPACE example\n    STORAGE (INITIAL 6144 NEXT 6144)\n    CHUNK 4000\n    NOCACHE LOGGING);","The following example creates a similar table, but stores XMLType data in an object relational XMLType column whose structure is determined by the specified schema:","CREATE TABLE xwarehouses (\n   warehouse_id    NUMBER,\n   warehouse_spec  XMLTYPE)\n   XMLTYPE warehouse_spec STORE AS OBJECT RELATIONAL\n      XMLSCHEMA &quot;http://www.oracle.com/xwarehouses.xsd&quot;\n      ELEMENT &quot;Warehouse&quot;;","Partitioning Examples\nRange Partitioning Example le Ventes table in the sample schema sh is partitioned by range. The following example shows an abbreviated variation of the Ventes table. Constraints and storage elements have been omitted from the example.","CREATE TABLE range_sales\n    ( prod_id        NUMBER(6)\n    , cust_id        NUMBER\n    , time_id        DATE\n    , channel_id     CHAR(1)\n    , promo_id       NUMBER(6)\n    , quantity_sold  NUMBER(3)\n    , amount_sold         NUMBER(10,2)\n    )\nPARTITION BY RANGE (time_id)\n  (PARTITION SALES_Q1_1998 VALUES LESS THAN (TO_DATE(&#39;01-APR-1998&#39;,&#39;DD-MON-YYYY&#39;)),\n   PARTITION SALES_Q2_1998 VALUES LESS THAN (TO_DATE(&#39;01-JUL-1998&#39;,&#39;DD-MON-YYYY&#39;)),\n   PARTITION SALES_Q3_1998 VALUES LESS THAN (TO_DATE(&#39;01-OCT-1998&#39;,&#39;DD-MON-YYYY&#39;)),\n   PARTITION SALES_Q4_1998 VALUES LESS THAN (TO_DATE(&#39;01-JAN-1999&#39;,&#39;DD-MON-YYYY&#39;)),\n   PARTITION SALES_Q1_1999 VALUES LESS THAN (TO_DATE(&#39;01-APR-1999&#39;,&#39;DD-MON-YYYY&#39;)),\n   PARTITION SALES_Q2_1999 VALUES LESS THAN (TO_DATE(&#39;01-JUL-1999&#39;,&#39;DD-MON-YYYY&#39;)),\n   PARTITION SALES_Q3_1999 VALUES LESS THAN (TO_DATE(&#39;01-OCT-1999&#39;,&#39;DD-MON-YYYY&#39;)),\n   PARTITION SALES_Q4_1999 VALUES LESS THAN (TO_DATE(&#39;01-JAN-2000&#39;,&#39;DD-MON-YYYY&#39;)),\n   PARTITION SALES_Q1_2000 VALUES LESS THAN (TO_DATE(&#39;01-APR-2000&#39;,&#39;DD-MON-YYYY&#39;)),\n   PARTITION SALES_Q2_2000 VALUES LESS THAN (TO_DATE(&#39;01-JUL-2000&#39;,&#39;DD-MON-YYYY&#39;)),\n   PARTITION SALES_Q3_2000 VALUES LESS THAN (TO_DATE(&#39;01-OCT-2000&#39;,&#39;DD-MON-YYYY&#39;)),\n   PARTITION SALES_Q4_2000 VALUES LESS THAN (MAXVALUE))\n;","For information about partitioned table maintenance operations, see Oracle Database Administrator&#39;s Guide.\nList Partitioning Example The following statement shows how the sample table oe.customers might have been created as a list-partitioned table. Some columns and all constraints of the sample table have been omitted in this example.","CREATE TABLE list_customers \n   ( customer_id             NUMBER(6)\n   , cust_first_name         VARCHAR2(20) \n   , cust_last_name          VARCHAR2(20)\n   , cust_address            CUST_ADDRESS_TYP\n   , nls_territory           VARCHAR2(30)\n   , cust_email              VARCHAR2(30))\n   PARTITION BY LIST (nls_territory) (\n   PARTITION asia VALUES (&#39;CHINA&#39;, &#39;THAILAND&#39;),\n   PARTITION europe VALUES (&#39;GERMANY&#39;, &#39;ITALY&#39;, &#39;SWITZERLAND&#39;),\n   PARTITION west VALUES (&#39;AMERICA&#39;),\n   PARTITION east VALUES (&#39;INDIA&#39;),\n   PARTITION rest VALUES (DEFAULT));","Partitioned Table with LOB Columns Example This statement creates a partitioned table print_media_demo with two partitions p1 et p2, and a number of LOB columns. The statement uses the sample table pm.print_media, but the LONG colonne press_release is omitted because LONG columns are not supported in partitioning.","CREATE TABLE print_media_demo\n   ( product_id NUMBER(6)\n   , ad_id NUMBER(6)\n   , ad_composite BLOB\n   , ad_sourcetext CLOB\n   , ad_finaltext CLOB\n   , ad_fltextn NCLOB\n   , ad_textdocs_ntab textdoc_tab\n   , ad_photo BLOB\n   , ad_graphic BFILE\n   , ad_header adheader_typ\n   ) NESTED TABLE ad_textdocs_ntab STORE AS textdocs_nestedtab_demo\n      LOB (ad_composite, ad_photo, ad_finaltext)\n      STORE AS(STORAGE (NEXT 20M))\n   PARTITION BY RANGE (product_id)\n      (PARTITION p1 VALUES LESS THAN (3000) TABLESPACE tbs_01\n         LOB (ad_composite, ad_photo)\n         STORE AS (TABLESPACE tbs_02 STORAGE (INITIAL 10M)),\n       PARTITION P2 VALUES LESS THAN (MAXVALUE)\n         LOB (ad_composite, ad_finaltext)\n         STORE AS (TABLESPACE tbs_03)\n       )\n   TABLESPACE tbs_04;","Partition p1 will be in tablespace tbs_1. The LOB data partitions for ad_composite et ad_photo will be in tablespace tbs_2. The LOB data partition for the remaining LOB columns will be in tablespace tbs_1. The storage attribute INITIAL is specified for LOB columns ad_composite et ad_photo. Other attributes will be inherited from the default table-level specification. The default LOB storage attributes not specified at the table level will be inherited from the tablespace tbs_2 for columns ad_composite et ad_photo and from tablespace tbs_1 for the remaining LOB columns. LOB index partitions will be in the same tablespaces as the corresponding LOB data partitions. Other storage attributes will be based on values of the corresponding attributes of the LOB data partitions and default attributes of the tablespace where the index partitions reside.\nPartition p2 will be in the default tablespace tbs_4. The LOB data for ad_composite et ad_finaltext will be in tablespace tbs_3. The LOB data for the remaining LOB columns will be in tablespace tbs_4. The LOB index for columns ad_composite et ad_finaltext will be in tablespace tbs_3. The LOB index for the remaining LOB columns will be in tablespace tbs_4.\nHash Partitioning Example The sample table oe.product_information is not partitioned. However, you might want to partition such a large table by hash for performance reasons, as shown in this example. The tablespace names are hypothetical in this example.","CREATE TABLE hash_products \n    ( product_id          NUMBER(6) \n    , product_name        VARCHAR2(50) \n    , product_description VARCHAR2(2000) \n    , category_id         NUMBER(2) \n    , weight_class        NUMBER(1) \n    , warranty_period     INTERVAL YEAR TO MONTH \n    , supplier_id         NUMBER(6) \n    , product_status      VARCHAR2(20) \n    , list_price          NUMBER(8,2) \n    , min_price           NUMBER(8,2) \n    , catalog_url         VARCHAR2(50) \n    , CONSTRAINT          product_status_lov_demo \n                          CHECK (product_status in (&#39;orderable&#39; \n                                                  ,&#39;planned&#39; \n                                                  ,&#39;under development&#39; \n                                                  ,&#39;obsolete&#39;) \n ) ) \n PARTITION BY HASH (product_id) \n PARTITIONS 5 \n STORE IN (tbs_01, tbs_02, tbs_03, tbs_04);","Composite-Partitioned Table Examples The table created in the &quot;Range Partitioning Example&quot; divides data by time of sale. If you plan to access recent data according to distribution channel as well as time, then composite partitioning might be more appropriate. The following example creates a copy of that range_sales table but specifies range-hash composite partitioning. The partitions with the most recent data are subpartitioned with both system-generated and user-defined subpartition names. Constraints and storage attributes have been omitted from the example.","CREATE TABLE composite_sales\n    ( prod_id        NUMBER(6)\n    , cust_id        NUMBER\n    , time_id        DATE\n    , channel_id     CHAR(1)\n    , promo_id       NUMBER(6)\n    , quantity_sold  NUMBER(3)\n    , amount_sold         NUMBER(10,2)\n    )\nPARTITION BY RANGE (time_id)\nSUBPARTITION BY HASH (channel_id)\n  (PARTITION SALES_Q1_1998 VALUES LESS THAN (TO_DATE(&#39;01-APR-1998&#39;,&#39;DD-MON-YYYY&#39;)),\n   PARTITION SALES_Q2_1998 VALUES LESS THAN (TO_DATE(&#39;01-JUL-1998&#39;,&#39;DD-MON-YYYY&#39;)),\n   PARTITION SALES_Q3_1998 VALUES LESS THAN (TO_DATE(&#39;01-OCT-1998&#39;,&#39;DD-MON-YYYY&#39;)),\n   PARTITION SALES_Q4_1998 VALUES LESS THAN (TO_DATE(&#39;01-JAN-1999&#39;,&#39;DD-MON-YYYY&#39;)),\n   PARTITION SALES_Q1_1999 VALUES LESS THAN (TO_DATE(&#39;01-APR-1999&#39;,&#39;DD-MON-YYYY&#39;)),\n   PARTITION SALES_Q2_1999 VALUES LESS THAN (TO_DATE(&#39;01-JUL-1999&#39;,&#39;DD-MON-YYYY&#39;)),\n   PARTITION SALES_Q3_1999 VALUES LESS THAN (TO_DATE(&#39;01-OCT-1999&#39;,&#39;DD-MON-YYYY&#39;)),\n   PARTITION SALES_Q4_1999 VALUES LESS THAN (TO_DATE(&#39;01-JAN-2000&#39;,&#39;DD-MON-YYYY&#39;)),\n   PARTITION SALES_Q1_2000 VALUES LESS THAN (TO_DATE(&#39;01-APR-2000&#39;,&#39;DD-MON-YYYY&#39;)),\n   PARTITION SALES_Q2_2000 VALUES LESS THAN (TO_DATE(&#39;01-JUL-2000&#39;,&#39;DD-MON-YYYY&#39;))\n      SUBPARTITIONS 8,\n   PARTITION SALES_Q3_2000 VALUES LESS THAN (TO_DATE(&#39;01-OCT-2000&#39;,&#39;DD-MON-YYYY&#39;))\n     (SUBPARTITION ch_c,\n      SUBPARTITION ch_i,\n      SUBPARTITION ch_p,\n      SUBPARTITION ch_s,\n      SUBPARTITION ch_t),\n   PARTITION SALES_Q4_2000 VALUES LESS THAN (MAXVALUE)\n      SUBPARTITIONS 4)\n;","The following examples creates a partitioned table of customers based on the sample table oe.customers. In this example, the table is partitioned on the credit_limit column and list subpartitioned on the nls_territory column. The subpartition template determines the subpartitioning of any subsequently added partitions, unless you override the template by defining individual subpartitions. This composite partitioning makes it possible to query the table based on a credit limit range within a specified region:","CREATE TABLE customers_part (\n   customer_id        NUMBER(6),\n   cust_first_name    VARCHAR2(20),\n   cust_last_name     VARCHAR2(20),\n   nls_territory      VARCHAR2(30),\n   credit_limit       NUMBER(9,2)) \n   PARTITION BY RANGE (credit_limit)\n   SUBPARTITION BY LIST (nls_territory)\n      SUBPARTITION TEMPLATE \n         (SUBPARTITION east  VALUES \n            (&#39;CHINA&#39;, &#39;JAPAN&#39;, &#39;INDIA&#39;, &#39;THAILAND&#39;),\n          SUBPARTITION west VALUES \n             (&#39;AMERICA&#39;, &#39;GERMANY&#39;, &#39;ITALY&#39;, &#39;SWITZERLAND&#39;),\n          SUBPARTITION other VALUES (DEFAULT))\n      (PARTITION p1 VALUES LESS THAN (1000),\n       PARTITION p2 VALUES LESS THAN (2500),\n       PARTITION p3 VALUES LESS THAN (MAXVALUE));","Object Column and Table Examples\nCreating Object Tables: Examples Consider object type department_typ:","CREATE TYPE department_typ AS OBJECT\n   ( d_name   VARCHAR2(100), \n     d_address VARCHAR2(200) );\n/","Object table departments_obj_t holds department objects of type department_typ:","CREATE TABLE departments_obj_t OF department_typ;","The following statement creates object table salesreps with a user-defined object type, salesrep_typ:","CREATE OR REPLACE TYPE salesrep_typ AS OBJECT\n  ( repId NUMBER,\n    repName VARCHAR2(64));","CREATE TABLE salesreps OF salesrep_typ;","Creating a Table with a User-Defined Object Identifier: Example This example creates an object type and a corresponding object table whose object identifier is primary key based:","CREATE TYPE employees_typ AS OBJECT \n   (e_no NUMBER, e_address CHAR(30));\n/","CREATE TABLE employees_obj_t OF employees_typ (e_no PRIMARY KEY)\n   OBJECT IDENTIFIER IS PRIMARY KEY;","You can subsequently reference the employees_object_t object table using either inline_ref_constraint    ou out_of_line_ref_constraint    syntax","CREATE TABLE departments_t \n   (d_no    NUMBER,\n    mgr_ref REF employees_typ SCOPE IS employees_obj_t);","CREATE TABLE departments_t (\n    d_no NUMBER,\n    mgr_ref REF employees_typ \n       CONSTRAINT mgr_in_emp REFERENCES employees_obj_t);","Specifying Constraints on Type Columns: Example The following example shows how to define constraints on attributes of an object type column:","CREATE TYPE address_t AS OBJECT\n  ( hno    NUMBER,\n    street VARCHAR2(40),\n    city   VARCHAR2(20),\n    zip    VARCHAR2(5),\n    phone  VARCHAR2(10) );\n/","CREATE TYPE person AS OBJECT\n  ( name        VARCHAR2(40),\n    dateofbirth DATE,\n    homeaddress address_t,\n    manager     REF person );\n/","CREATE TABLE persons OF person\n  ( homeaddress NOT NULL,\n      UNIQUE (homeaddress.phone),\n      CHECK (homeaddress.zip IS NOT NULL),\n      CHECK (homeaddress.city &lt;&gt; &#39;San Francisco&#39;) );","Click to rate this post!\n                                   \n                               [Total: 0  Average: 0]"],"content_blocks":[{"id":"text-1","type":"text","heading":"","plain_text":"Objectif\nNouse le CRÉER TABLE instruction pour créer l’un des types de tables suivants:","html":"<p>Objectif\nNouse le CRÉER TABLE instruction pour créer l’un des types de tables suivants:</p>"},{"id":"text-2","type":"text","heading":"","plain_text":"UNE table relationnelle, qui est la structure de base pour stocker les données utilisateur.","html":"<p>UNE table relationnelle, qui est la structure de base pour stocker les données utilisateur.</p>"},{"id":"text-3","type":"text","heading":"","plain_text":"Un table objet, qui est une table qui utilise un type d’objet pour une définition de colonne. Une table d&#39;objets est explicitement définie pour contenir des instances d&#39;objet d&#39;un type particulier.","html":"<p>Un table objet, qui est une table qui utilise un type d’objet pour une définition de colonne. Une table d&#039;objets est explicitement définie pour contenir des instances d&#039;objet d&#039;un type particulier.</p>"},{"id":"text-4","type":"text","heading":"","plain_text":"Vous pouvez également créer un type d&#39;objet, puis l&#39;utiliser dans une colonne lors de la création d&#39;une table relationnelle.\nLes tables sont créées sans données sauf si une sous-requête est spécifiée. Vous pouvez ajouter des lignes à une table avec le INSÉRER déclaration. Après avoir créé une table, vous pouvez définir des colonnes, des partitions et des contraintes d’intégrité supplémentaires avec AJOUTER clause de la MODIFIER TABLE déclaration. Vous pouvez modifier la définition d’une colonne ou d’une partition existante avec MODIFIER clause de la MODIFIER TABLE déclaration.\nSujets supplémentaires\nConditions préalables\nPour créer une table relationnelle dans votre propre schéma, vous devez disposer du CRÉER TABLE privilège système. Pour créer une table dans le schéma d’un autre utilisateur, vous devez disposer du CRÉER TOUT TABLE privilège système. De plus, le propriétaire du schéma devant contenir la table doit avoir un quota d’espace sur l’espace de table pour contenir la table ou le ILLIMITÉ TABLESPACE privilège système.\nOutre ces privilèges de table, pour créer une table objet ou une table relationnelle avec une colonne de type objet, le propriétaire de la table doit disposer du EXÉCUTER privilège d&#39;objet afin d&#39;accéder à tous les types référencés par la table, ou vous devez disposer du EXÉCUTER TOUT TYPE privilège système. Ces privilèges doivent être accordés explicitement et non acquis via un rôle.\nDe plus, si le propriétaire de la table a l&#39;intention d&#39;accorder l&#39;accès à la table à d&#39;autres utilisateurs, il doit alors avoir obtenu l&#39;autorisation EXÉCUTER privilège d&#39;objet sur les types référencés AVEC SUBVENTION OPTION, ou avoir le EXÉCUTER TOUT TYPE privilège système AVEC ADMIN OPTION. Sans ces privilèges, le propriétaire de la table ne dispose pas de privilèges suffisants pour accorder l&#39;accès à la table à d&#39;autres utilisateurs.\nPour activer une contrainte de clé unique ou primaire, vous devez disposer des privilèges nécessaires pour créer un index sur la table. Vous avez besoin de ces privilèges, car Oracle Database crée un index sur les colonnes de la clé unique ou primaire du schéma contenant la table.\nPour créer une table externe, vous devez disposer des privilèges de système d&#39;exploitation requis en lecture et en écriture sur les répertoires appropriés du système d&#39;exploitation. Vous devez avoir le LIS privilège object sur l&#39;objet de répertoire de base de données correspondant au répertoire du système d&#39;exploitation dans lequel résident les données externes. Vous devez aussi avoir le ÉCRIRE Privilège d’objet sur le répertoire de la base de données dans lequel les fichiers résideront si vous spécifiez un fichier journal ou un fichier incorrect dans le répertoire. opaque_format_spec    ou si vous déchargez des données dans une table externe à partir d&#39;une table de base de données en spécifiant le COMME sous-requête    clause.\nSyntaxe\ncreate_table:: =","html":"<p>Vous pouvez également créer un type d&#039;objet, puis l&#039;utiliser dans une colonne lors de la création d&#039;une table relationnelle.\nLes tables sont créées sans données sauf si une sous-requête est spécifiée. Vous pouvez ajouter des lignes à une table avec le INSÉRER déclaration. Après avoir créé une table, vous pouvez définir des colonnes, des partitions et des contraintes d’intégrité supplémentaires avec AJOUTER clause de la MODIFIER TABLE déclaration. Vous pouvez modifier la définition d’une colonne ou d’une partition existante avec MODIFIER clause de la MODIFIER TABLE déclaration.\nSujets supplémentaires\nConditions préalables\nPour créer une table relationnelle dans votre propre schéma, vous devez disposer du CRÉER TABLE privilège système. Pour créer une table dans le schéma d’un autre utilisateur, vous devez disposer du CRÉER TOUT TABLE privilège système. De plus, le propriétaire du schéma devant contenir la table doit avoir un quota d’espace sur l’espace de table pour contenir la table ou le ILLIMITÉ TABLESPACE privilège système.\nOutre ces privilèges de table, pour créer une table objet ou une table relationnelle avec une colonne de type objet, le propriétaire de la table doit disposer du EXÉCUTER privilège d&#039;objet afin d&#039;accéder à tous les types référencés par la table, ou vous devez disposer du EXÉCUTER TOUT TYPE privilège système. Ces privilèges doivent être accordés explicitement et non acquis via un rôle.\nDe plus, si le propriétaire de la table a l&#039;intention d&#039;accorder l&#039;accès à la table à d&#039;autres utilisateurs, il doit alors avoir obtenu l&#039;autorisation EXÉCUTER privilège d&#039;objet sur les types référencés AVEC SUBVENTION OPTION, ou avoir le EXÉCUTER TOUT TYPE privilège système AVEC ADMIN OPTION. Sans ces privilèges, le propriétaire de la table ne dispose pas de privilèges suffisants pour accorder l&#039;accès à la table à d&#039;autres utilisateurs.\nPour activer une contrainte de clé unique ou primaire, vous devez disposer des privilèges nécessaires pour créer un index sur la table. Vous avez besoin de ces privilèges, car Oracle Database crée un index sur les colonnes de la clé unique ou primaire du schéma contenant la table.\nPour créer une table externe, vous devez disposer des privilèges de système d&#039;exploitation requis en lecture et en écriture sur les répertoires appropriés du système d&#039;exploitation. Vous devez avoir le LIS privilège object sur l&#039;objet de répertoire de base de données correspondant au répertoire du système d&#039;exploitation dans lequel résident les données externes. Vous devez aussi avoir le ÉCRIRE Privilège d’objet sur le répertoire de la base de données dans lequel les fichiers résideront si vous spécifiez un fichier journal ou un fichier incorrect dans le répertoire. opaque_format_spec    ou si vous déchargez des données dans une table externe à partir d&#039;une table de base de données en spécifiant le COMME sous-requête    clause.\nSyntaxe\ncreate_table:: =</p>"},{"id":"text-5","type":"text","heading":"","plain_text":"Description de l&#39;illustration create_table.gif\n(table_relationnelle:: =, objet_table :: =, XMLType_table :: =)\ntable_relationnelle:: =","html":"<p>Description de l&#039;illustration create_table.gif\n(table_relationnelle:: =, objet_table :: =, XMLType_table :: =)\ntable_relationnelle:: =</p>"},{"id":"text-6","type":"text","heading":"","plain_text":"Description de l&#39;illustration relational_table.gif","html":"<p>Description de l&#039;illustration relational_table.gif</p>"},{"id":"text-7","type":"text","heading":"","plain_text":"Remarque:\nChacune des clauses qui suivent le nom de la table est facultative pour toute table relationnelle donnée. Cependant, pour chaque table, vous devez au moins spécifier les noms de colonne et les types de données à l&#39;aide de la commande propriétés_relationnelles    clause ou un COMME sous-requête    clause utilisant la propriétés_table    clause.\n(propriétés_relationnelles:: =, propriétés physiques:: =, propriétés_table:: =)\nobjet_table    :: =","html":"<p>Remarque:\nChacune des clauses qui suivent le nom de la table est facultative pour toute table relationnelle donnée. Cependant, pour chaque table, vous devez au moins spécifier les noms de colonne et les types de données à l&#039;aide de la commande propriétés_relationnelles    clause ou un COMME sous-requête    clause utilisant la propriétés_table    clause.\n(propriétés_relationnelles:: =, propriétés physiques:: =, propriétés_table:: =)\nobjet_table    :: =</p>"},{"id":"text-8","type":"text","heading":"","plain_text":"Description de l&#39;illustration object_table.gif\n(object_table_substitution :: =, propriétés_objet:: =, oid_clause:: =, oid_index_clause:: =, propriétés physiques:: =, propriétés_table:: =)\nXMLType_table    :: =","html":"<p>Description de l&#039;illustration object_table.gif\n(object_table_substitution :: =, propriétés_objet:: =, oid_clause:: =, oid_index_clause:: =, propriétés physiques:: =, propriétés_table:: =)\nXMLType_table    :: =</p>"},{"id":"text-9","type":"text","heading":"","plain_text":"Description de l&#39;illustration XMLType_table.gif\n(XMLType_storage:: =, XMLSchema_spec:: =, oid_clause:: =, oid_index_clause:: =, propriétés physiques:: =, propriétés_table:: =)\npropriétés_relationnelles:: =","html":"<p>Description de l&#039;illustration XMLType_table.gif\n(XMLType_storage:: =, XMLSchema_spec:: =, oid_clause:: =, oid_index_clause:: =, propriétés physiques:: =, propriétés_table:: =)\npropriétés_relationnelles:: =</p>"},{"id":"text-10","type":"text","heading":"","plain_text":"Description de l&#39;illustration relational_properties.gif\n(définition_colonne:: =, contrainte:: =, supplemental_logging_props :: =)\ndéfinition_colonne:: =","html":"<p>Description de l&#039;illustration relational_properties.gif\n(définition_colonne:: =, contrainte:: =, supplemental_logging_props :: =)\ndéfinition_colonne:: =</p>"},{"id":"text-11","type":"text","heading":"","plain_text":"Description de l&#39;illustration column_definition.gif\n(encryption_spec:: =, contrainte:: =)\nencryption_spec:: =","html":"<p>Description de l&#039;illustration column_definition.gif\n(encryption_spec:: =, contrainte:: =)\nencryption_spec:: =</p>"},{"id":"text-12","type":"text","heading":"","plain_text":"Description de l&#39;illustration encryption_spec.gif\nobject_table_substitution    :: =","html":"<p>Description de l&#039;illustration encryption_spec.gif\nobject_table_substitution    :: =</p>"},{"id":"text-13","type":"text","heading":"","plain_text":"Description de l&#39;illustration object_table_substitution.gif\npropriétés_objet:: =","html":"<p>Description de l&#039;illustration object_table_substitution.gif\npropriétés_objet:: =</p>"},{"id":"text-14","type":"text","heading":"","plain_text":"Description de l&#39;illustration object_properties.gif\n(contrainte:: =, supplemental_logging_props :: =)\noid_clause:: =","html":"<p>Description de l&#039;illustration object_properties.gif\n(contrainte:: =, supplemental_logging_props :: =)\noid_clause:: =</p>"},{"id":"text-15","type":"text","heading":"","plain_text":"Description de l&#39;illustration oid_clause.gif\noid_index_clause:: =","html":"<p>Description de l&#039;illustration oid_clause.gif\noid_index_clause:: =</p>"},{"id":"text-16","type":"text","heading":"","plain_text":"Description de l&#39;illustration oid_index_clause.gif\n(clause_attributs_ physiques:: =)\npropriétés physiques:: =","html":"<p>Description de l&#039;illustration oid_index_clause.gif\n(clause_attributs_ physiques:: =)\npropriétés physiques:: =</p>"},{"id":"text-17","type":"text","heading":"","plain_text":"Description de l&#39;illustration physical_properties.gif\n(segment_attributes_clause :: =, compression_table:: =, index_org_table_clause :: =, clause_table_externe :: =)\nsegment_attributes_clause    :: =","html":"<p>Description de l&#039;illustration physical_properties.gif\n(segment_attributes_clause :: =, compression_table:: =, index_org_table_clause :: =, clause_table_externe :: =)\nsegment_attributes_clause    :: =</p>"},{"id":"text-18","type":"text","heading":"","plain_text":"Description de l&#39;illustration segment_attributes_clause.gif\n(clause_attributs_ physiques:: =, clause_logging:: =)\nclause_attributs_ physiques:: =","html":"<p>Description de l&#039;illustration segment_attributes_clause.gif\n(clause_attributs_ physiques:: =, clause_logging:: =)\nclause_attributs_ physiques:: =</p>"},{"id":"text-19","type":"text","heading":"","plain_text":"Description de l&#39;illustration physical_attributes_clause.gif\n(clause_stockage:: =) \ncompression_table:: =","html":"<p>Description de l&#039;illustration physical_attributes_clause.gif\n(clause_stockage:: =) \ncompression_table:: =</p>"},{"id":"text-20","type":"text","heading":"","plain_text":"Description de l&#39;illustration table_compression.gif\npropriétés_table:: =","html":"<p>Description de l&#039;illustration table_compression.gif\npropriétés_table:: =</p>"},{"id":"text-21","type":"text","heading":"","plain_text":"Description de l&#39;illustration table_properties.gif\n(propriétés de la colonne:: =, clauses_partitionnement_table :: =, clause_parallèle :: =, enable_disable_clause :: =, row_movement_clause :: =, sous-requête:: =)\npropriétés de la colonne:: =","html":"<p>Description de l&#039;illustration table_properties.gif\n(propriétés de la colonne:: =, clauses_partitionnement_table :: =, clause_parallèle :: =, enable_disable_clause :: =, row_movement_clause :: =, sous-requête:: =)\npropriétés de la colonne:: =</p>"},{"id":"text-22","type":"text","heading":"","plain_text":"Description de l&#39;illustration column_properties.gif\n(object_type_col_properties:: =, nested_table_col_properties :: =, varray_col_properties :: =, LOB_storage_clause:: =, LOB_partition_storage:: =, XMLType_column_properties :: =)\nobject_type_col_properties:: =","html":"<p>Description de l&#039;illustration column_properties.gif\n(object_type_col_properties:: =, nested_table_col_properties :: =, varray_col_properties :: =, LOB_storage_clause:: =, LOB_partition_storage:: =, XMLType_column_properties :: =)\nobject_type_col_properties:: =</p>"},{"id":"text-23","type":"text","heading":"","plain_text":"Description de l&#39;illustration object_type_col_properties.gif\nsubstitutable_column_clause:: =","html":"<p>Description de l&#039;illustration object_type_col_properties.gif\nsubstitutable_column_clause:: =</p>"},{"id":"text-24","type":"text","heading":"","plain_text":"Description de l&#39;illustration substitutable_column_clause.gif\nnested_table_col_properties :: =","html":"<p>Description de l&#039;illustration substitutable_column_clause.gif\nnested_table_col_properties :: =</p>"},{"id":"text-25","type":"text","heading":"","plain_text":"Description de l&#39;illustration nested_table_col_properties.gif\n(substitutable_column_clause:: =, propriétés_objet:: =, propriétés physiques:: =, propriétés de la colonne:: =)\nvarray_col_properties :: =","html":"<p>Description de l&#039;illustration nested_table_col_properties.gif\n(substitutable_column_clause:: =, propriétés_objet:: =, propriétés physiques:: =, propriétés de la colonne:: =)\nvarray_col_properties :: =</p>"},{"id":"text-26","type":"text","heading":"","plain_text":"Description de l&#39;illustration varray_col_properties.gif\n(substitutable_column_clause:: =, LOB_parameters :: =)\nLOB_storage_clause:: =","html":"<p>Description de l&#039;illustration varray_col_properties.gif\n(substitutable_column_clause:: =, LOB_parameters :: =)\nLOB_storage_clause:: =</p>"},{"id":"text-27","type":"text","heading":"","plain_text":"Description de l&#39;illustration LOB_storage_clause.gif\n(LOB_parameters :: =)\nLOB_parameters    :: =","html":"<p>Description de l&#039;illustration LOB_storage_clause.gif\n(LOB_parameters :: =)\nLOB_parameters    :: =</p>"},{"id":"text-28","type":"text","heading":"","plain_text":"Description de l&#39;illustration LOB_parameters.gif\n(clause_stockage:: =)\nclause_logging:: =","html":"<p>Description de l&#039;illustration LOB_parameters.gif\n(clause_stockage:: =)\nclause_logging:: =</p>"},{"id":"text-29","type":"text","heading":"","plain_text":"Description de l&#39;illustration logging_clause.gif\nLOB_partition_storage:: =","html":"<p>Description de l&#039;illustration logging_clause.gif\nLOB_partition_storage:: =</p>"},{"id":"text-30","type":"text","heading":"","plain_text":"Description de l&#39;illustration LOB_partition_storage.gif\n(LOB_storage_clause:: =, varray_col_properties :: =)\nXMLType_column_properties    :: =","html":"<p>Description de l&#039;illustration LOB_partition_storage.gif\n(LOB_storage_clause:: =, varray_col_properties :: =)\nXMLType_column_properties    :: =</p>"},{"id":"text-31","type":"text","heading":"","plain_text":"Description de l&#39;illustration XMLType_column_properties.gif\n(XMLType_storage:: =, XMLSchema_spec:: =)\nXMLType_storage:: =","html":"<p>Description de l&#039;illustration XMLType_column_properties.gif\n(XMLType_storage:: =, XMLSchema_spec:: =)\nXMLType_storage:: =</p>"},{"id":"text-32","type":"text","heading":"","plain_text":"Description de l&#39;illustration XMLType_storage.gif\n(LOB_parameters :: =)\nXMLSchema_spec:: =","html":"<p>Description de l&#039;illustration XMLType_storage.gif\n(LOB_parameters :: =)\nXMLSchema_spec:: =</p>"},{"id":"text-33","type":"text","heading":"","plain_text":"Description de l&#39;illustration XMLSchema_spec.gif\nrow_movement_clause :: =","html":"<p>Description de l&#039;illustration XMLSchema_spec.gif\nrow_movement_clause :: =</p>"},{"id":"text-34","type":"text","heading":"","plain_text":"Description de l&#39;illustration row_movement_clause.gif\nindex_org_table_clause :: =","html":"<p>Description de l&#039;illustration row_movement_clause.gif\nindex_org_table_clause :: =</p>"},{"id":"text-35","type":"text","heading":"","plain_text":"Description de l&#39;illustration index_org_table_clause.gif\n(mapping_table_clauses:: =, key_compression :: =, index_org_overflow_clause :: =)\nmapping_table_clauses:: =","html":"<p>Description de l&#039;illustration index_org_table_clause.gif\n(mapping_table_clauses:: =, key_compression :: =, index_org_overflow_clause :: =)\nmapping_table_clauses:: =</p>"},{"id":"text-36","type":"text","heading":"","plain_text":"Description de l&#39;illustration mapping_table_clauses.gif\nkey_compression    :: =","html":"<p>Description de l&#039;illustration mapping_table_clauses.gif\nkey_compression    :: =</p>"},{"id":"text-37","type":"text","heading":"","plain_text":"Description de l&#39;illustration key_compression.gif\nindex_org_overflow_clause    :: =","html":"<p>Description de l&#039;illustration key_compression.gif\nindex_org_overflow_clause    :: =</p>"},{"id":"text-38","type":"text","heading":"","plain_text":"Description de l&#39;illustration index_org_overflow_clause.gif\n(segment_attributes_clause :: =)\nsupplemental_logging_props    :: =","html":"<p>Description de l&#039;illustration index_org_overflow_clause.gif\n(segment_attributes_clause :: =)\nsupplemental_logging_props    :: =</p>"},{"id":"text-39","type":"text","heading":"","plain_text":"Description de l&#39;illustration supplemental_logging_props.gif\nsupplemental_log_grp_clause:: =","html":"<p>Description de l&#039;illustration supplemental_logging_props.gif\nsupplemental_log_grp_clause:: =</p>"},{"id":"text-40","type":"text","heading":"","plain_text":"Description de l&#39;illustration supplemental_log_grp_clause.gif\nsupplemental_id_key_clause:: =","html":"<p>Description de l&#039;illustration supplemental_log_grp_clause.gif\nsupplemental_id_key_clause:: =</p>"},{"id":"text-41","type":"text","heading":"","plain_text":"Description de l&#39;illustration supplemental_id_key_clause.gif\nclause_table_externe    :: =","html":"<p>Description de l&#039;illustration supplemental_id_key_clause.gif\nclause_table_externe    :: =</p>"},{"id":"text-42","type":"text","heading":"","plain_text":"Description de l&#39;illustration external_table_clause.gif\n(données_externes:: =)\ndonnées_externes:: =","html":"<p>Description de l&#039;illustration external_table_clause.gif\n(données_externes:: =)\ndonnées_externes:: =</p>"},{"id":"text-43","type":"text","heading":"","plain_text":"Description de l&#39;illustration external_data_properties.gif\n(opaque_format_spec: Voir Utilitaires de base de données Oracle pour savoir comment spécifier des valeurs pour opaque_format_spec.)\nclauses_partitionnement_table    :: =","html":"<p>Description de l&#039;illustration external_data_properties.gif\n(opaque_format_spec: Voir Utilitaires de base de données Oracle pour savoir comment spécifier des valeurs pour opaque_format_spec.)\nclauses_partitionnement_table    :: =</p>"},{"id":"text-44","type":"text","heading":"","plain_text":"Description de l&#39;illustration table_partitioning_clauses.gif\n(range_partitioning:: =, hash_partitioning :: =, partition_partition :: =, partitionnement composite :: =)\nrange_partitioning:: =","html":"<p>Description de l&#039;illustration table_partitioning_clauses.gif\n(range_partitioning:: =, hash_partitioning :: =, partition_partition :: =, partitionnement composite :: =)\nrange_partitioning:: =</p>"},{"id":"text-45","type":"text","heading":"","plain_text":"Description de l&#39;illustration range_partitioning.gif\n(plage_valeurs_clause:: =, description_partition_table:: =)\nhash_partitioning    :: =","html":"<p>Description de l&#039;illustration range_partitioning.gif\n(plage_valeurs_clause:: =, description_partition_table:: =)\nhash_partitioning    :: =</p>"},{"id":"text-46","type":"text","heading":"","plain_text":"Description de l&#39;illustration hash_partitioning.gif\n(individual_hash_partitions:: =, hash_partitions_by_quantity:: =)\npartition_partition    :: =","html":"<p>Description de l&#039;illustration hash_partitioning.gif\n(individual_hash_partitions:: =, hash_partitions_by_quantity:: =)\npartition_partition    :: =</p>"},{"id":"text-47","type":"text","heading":"","plain_text":"Description de l&#39;illustration list_partitioning.gif\n(list_values_clause:: =, description_partition_table:: =)\npartitionnement composite :: =","html":"<p>Description de l&#039;illustration list_partitioning.gif\n(list_values_clause:: =, description_partition_table:: =)\npartitionnement composite :: =</p>"},{"id":"text-48","type":"text","heading":"","plain_text":"Description de l&#39;illustration composite_partitioning.gif\n(subpartition_by_list:: =, subpartition_by_hash:: =, plage_valeurs_clause:: =, description_partition_table:: =)\nsubpartition_by_hash:: =","html":"<p>Description de l&#039;illustration composite_partitioning.gif\n(subpartition_by_list:: =, subpartition_by_hash:: =, plage_valeurs_clause:: =, description_partition_table:: =)\nsubpartition_by_hash:: =</p>"},{"id":"text-49","type":"text","heading":"","plain_text":"Description de l&#39;illustration subpartition_by_hash.gif\n(subpartition_template:: =)\nindividual_hash_partitions:: =","html":"<p>Description de l&#039;illustration subpartition_by_hash.gif\n(subpartition_template:: =)\nindividual_hash_partitions:: =</p>"},{"id":"text-50","type":"text","heading":"","plain_text":"Description de l&#39;illustration individual_hash_partitions.gif\n(partitioning_storage_clause:: =)\nhash_partitions_by_quantity:: =","html":"<p>Description de l&#039;illustration individual_hash_partitions.gif\n(partitioning_storage_clause:: =)\nhash_partitions_by_quantity:: =</p>"},{"id":"text-51","type":"text","heading":"","plain_text":"Description de l&#39;illustration hash_partitions_by_quantity.gif\nsubpartition_by_list:: =","html":"<p>Description de l&#039;illustration hash_partitions_by_quantity.gif\nsubpartition_by_list:: =</p>"},{"id":"text-52","type":"text","heading":"","plain_text":"Description de l&#39;illustration subpartition_by_list.gif\n(subpartition_template:: =)\nsubpartition_template:: =","html":"<p>Description de l&#039;illustration subpartition_by_list.gif\n(subpartition_template:: =)\nsubpartition_template:: =</p>"},{"id":"text-53","type":"text","heading":"","plain_text":"Description de l&#39;illustration subpartition_template.gif\n(list_values_clause:: =, partitioning_storage_clause:: =)\nplage_valeurs_clause:: =","html":"<p>Description de l&#039;illustration subpartition_template.gif\n(list_values_clause:: =, partitioning_storage_clause:: =)\nplage_valeurs_clause:: =</p>"},{"id":"text-54","type":"text","heading":"","plain_text":"Description de l&#39;illustration range_values_clause.gif\nlist_values_clause:: =","html":"<p>Description de l&#039;illustration range_values_clause.gif\nlist_values_clause:: =</p>"},{"id":"text-55","type":"text","heading":"","plain_text":"Description de l&#39;illustration list_values_clause.gif\ndescription_partition_table:: =","html":"<p>Description de l&#039;illustration list_values_clause.gif\ndescription_partition_table:: =</p>"},{"id":"text-56","type":"text","heading":"","plain_text":"Description de l&#39;illustration table_partition_description.gif\n(segment_attributes_clause :: =, compression_table:: =, LOB_storage_clause:: =, varray_col_properties :: =, partition_level_subpartition:: =)\npartition_level_subpartition:: =","html":"<p>Description de l&#039;illustration table_partition_description.gif\n(segment_attributes_clause :: =, compression_table:: =, LOB_storage_clause:: =, varray_col_properties :: =, partition_level_subpartition:: =)\npartition_level_subpartition:: =</p>"},{"id":"text-57","type":"text","heading":"","plain_text":"Description de l&#39;illustration partition_level_subpartition.gif\n(subpartition_spec:: =)\nsubpartition_spec:: =","html":"<p>Description de l&#039;illustration partition_level_subpartition.gif\n(subpartition_spec:: =)\nsubpartition_spec:: =</p>"},{"id":"text-58","type":"text","heading":"","plain_text":"Description de l&#39;illustration subpartition_spec.gif\n(list_values_clause:: =, partitioning_storage_clause:: =)\npartitioning_storage_clause:: =","html":"<p>Description de l&#039;illustration subpartition_spec.gif\n(list_values_clause:: =, partitioning_storage_clause:: =)\npartitioning_storage_clause:: =</p>"},{"id":"text-59","type":"text","heading":"","plain_text":"Description de l&#39;illustration partitioning_storage_clause.gif\nclause_parallèle :: =","html":"<p>Description de l&#039;illustration partitioning_storage_clause.gif\nclause_parallèle :: =</p>"},{"id":"text-60","type":"text","heading":"","plain_text":"Description de l&#39;illustration parallel_clause.gif\nenable_disable_clause :: =","html":"<p>Description de l&#039;illustration parallel_clause.gif\nenable_disable_clause :: =</p>"},{"id":"text-61","type":"text","heading":"","plain_text":"Description de l&#39;illustration enable_disable_clause.gif\n(using_index_clause :: =, exceptions_clause n&#39;est pas supporté dans CRÉER TABLE déclarations)\nusing_index_clause    :: =","html":"<p>Description de l&#039;illustration enable_disable_clause.gif\n(using_index_clause :: =, exceptions_clause n&#039;est pas supporté dans CRÉER TABLE déclarations)\nusing_index_clause    :: =</p>"},{"id":"text-62","type":"text","heading":"","plain_text":"Description de l&#39;illustration using_index_clause.gif\n(create_index:: =, propriété_index:: =)\npropriété_index:: =","html":"<p>Description de l&#039;illustration using_index_clause.gif\n(create_index:: =, propriété_index:: =)\npropriété_index:: =</p>"},{"id":"text-63","type":"text","heading":"","plain_text":"Description de l&#39;illustration index_properties.gif\n(global_partitioned_index :: =, local_partitioned_index :: =&#8211;partie de CRÉER INDICE, index_attributes:: =, domain_index_clause: non pris en charge dans using_index_clause)\nindex_attributes:: =","html":"<p>Description de l&#039;illustration index_properties.gif\n(global_partitioned_index :: =, local_partitioned_index :: =&#8211;partie de CRÉER INDICE, index_attributes:: =, domain_index_clause: non pris en charge dans using_index_clause)\nindex_attributes:: =</p>"},{"id":"text-64","type":"text","heading":"","plain_text":"Description de l&#39;illustration index_attributes.gif\n(clause_attributs_ physiques:: =, logging_clause:: =, key_compression :: =, clause_parallèle: non pris en charge dans using_index_clause)\nSémantique\ntable_relationnelle \nGLOBAL TEMPORARY \nSpécifier GLOBAL TEMPORAIRE pour indiquer que la table est temporaire et que sa définition est visible pour toutes les sessions avec les privilèges appropriés. le Les données dans une table temporaire est visible uniquement pour la session qui insère les données dans la table.\nLorsque vous créez une table temporaire pour la première fois, ses métadonnées de table sont stockées dans le dictionnaire de données, mais aucun espace n&#39;est alloué pour les données de la table. Un espace est alloué pour le segment de table au moment de la première opération DML sur la table. La définition de la table temporaire persiste de la même manière que les définitions des tables normales, mais le segment de la table et toutes les données contenues dans la table sont soit spécifique à la session ou spécifique à la transaction Les données. Vous spécifiez si le segment de table et les données sont spécifiques à la session ou à la transaction avec les mots-clés ON COMMIT.\nVous pouvez effectuer des opérations DDL (telles que MODIFIER TABLE, LAISSEZ TOMBER TABLE, CRÉER INDICE) sur une table temporaire uniquement lorsqu&#39;aucune session n&#39;est liée à celle-ci. Une session devient liée à une table temporaire en effectuant une opération INSÉRER opération sur la table. Une session devient non liée à la table temporaire en émettant un TRONQUER ou à la fin de la session, ou, pour une table temporaire spécifique à une transaction, en émettant un COMMETTRE ou RETOUR EN ARRIERE déclaration.\nRestrictions sur les tables temporaires Les tables temporaires sont soumises aux restrictions suivantes:","html":"<p>Description de l&#039;illustration index_attributes.gif\n(clause_attributs_ physiques:: =, logging_clause:: =, key_compression :: =, clause_parallèle: non pris en charge dans using_index_clause)\nSémantique\ntable_relationnelle \nGLOBAL TEMPORARY \nSpécifier GLOBAL TEMPORAIRE pour indiquer que la table est temporaire et que sa définition est visible pour toutes les sessions avec les privilèges appropriés. le Les données dans une table temporaire est visible uniquement pour la session qui insère les données dans la table.\nLorsque vous créez une table temporaire pour la première fois, ses métadonnées de table sont stockées dans le dictionnaire de données, mais aucun espace n&#039;est alloué pour les données de la table. Un espace est alloué pour le segment de table au moment de la première opération DML sur la table. La définition de la table temporaire persiste de la même manière que les définitions des tables normales, mais le segment de la table et toutes les données contenues dans la table sont soit spécifique à la session ou spécifique à la transaction Les données. Vous spécifiez si le segment de table et les données sont spécifiques à la session ou à la transaction avec les mots-clés ON COMMIT.\nVous pouvez effectuer des opérations DDL (telles que MODIFIER TABLE, LAISSEZ TOMBER TABLE, CRÉER INDICE) sur une table temporaire uniquement lorsqu&#039;aucune session n&#039;est liée à celle-ci. Une session devient liée à une table temporaire en effectuant une opération INSÉRER opération sur la table. Une session devient non liée à la table temporaire en émettant un TRONQUER ou à la fin de la session, ou, pour une table temporaire spécifique à une transaction, en émettant un COMMETTRE ou RETOUR EN ARRIERE déclaration.\nRestrictions sur les tables temporaires Les tables temporaires sont soumises aux restrictions suivantes:</p>"},{"id":"text-65","type":"text","heading":"","plain_text":"Les tables temporaires ne peuvent pas être partitionnées, en cluster ou organisées par index.","html":"<p>Les tables temporaires ne peuvent pas être partitionnées, en cluster ou organisées par index.</p>"},{"id":"text-66","type":"text","heading":"","plain_text":"Vous ne pouvez spécifier aucune contrainte de clé étrangère sur les tables temporaires.","html":"<p>Vous ne pouvez spécifier aucune contrainte de clé étrangère sur les tables temporaires.</p>"},{"id":"text-67","type":"text","heading":"","plain_text":"Les tables temporaires ne peuvent pas contenir de colonnes de table imbriquée.","html":"<p>Les tables temporaires ne peuvent pas contenir de colonnes de table imbriquée.</p>"},{"id":"text-68","type":"text","heading":"","plain_text":"Vous ne pouvez pas spécifier les clauses suivantes du LOB_storage_clause: TABLESPACE, clause_stockage, ou clause_logging.","html":"<p>Vous ne pouvez pas spécifier les clauses suivantes du LOB_storage_clause: TABLESPACE, clause_stockage, ou clause_logging.</p>"},{"id":"text-69","type":"text","heading":"","plain_text":"Les requêtes DML parallèles et parallèles ne sont pas prises en charge pour les tables temporaires. Les indications parallèles sont ignorées. Spécification de la clause_parallèle    renvoie une erreur.","html":"<p>Les requêtes DML parallèles et parallèles ne sont pas prises en charge pour les tables temporaires. Les indications parallèles sont ignorées. Spécification de la clause_parallèle    renvoie une erreur.</p>"},{"id":"text-70","type":"text","heading":"","plain_text":"Vous ne pouvez pas spécifier le segment_attributes_clause, nested_table_col_properties, ou clause_parallèle.","html":"<p>Vous ne pouvez pas spécifier le segment_attributes_clause, nested_table_col_properties, ou clause_parallèle.</p>"},{"id":"text-71","type":"text","heading":"","plain_text":"Les transactions distribuées ne sont pas prises en charge pour les tables temporaires.","html":"<p>Les transactions distribuées ne sont pas prises en charge pour les tables temporaires.</p>"},{"id":"text-72","type":"text","heading":"","plain_text":"schéma\nSpécifiez le schéma pour contenir la table. Si vous omettez schéma, la base de données crée alors la table dans votre propre schéma.\ntable\nSpécifiez le nom de la table ou de la table d&#39;objets à créer.\npropriétés_relationnelles\nLes propriétés relationnelles décrivent les composants d&#39;une table relationnelle.\ndéfinition_colonne\nle définition_colonne    vous permet de définir les caractéristiques de la colonne.\ncolonne \nSpécifiez le nom d&#39;une colonne de la table.\nSi vous spécifiez également COMME sous-requêtealors vous pouvez omettre colonne    et Type de données    sauf si vous créez une table organisée par index. Si vous spécifiez COMME sous-requête    lors de la création d&#39;une table organisée par index, vous devez spécifier colonneet vous devez l&#39;omettre Type de données.\nLe nombre maximum absolu de colonnes dans une table est 1000. Toutefois, lorsque vous créez une table objet ou une table relationnelle avec des colonnes d&#39;objet, une table imbriquée, un tableau de variables ou REF type, Oracle Database mappe les colonnes des types définis par l&#39;utilisateur sur des colonnes relationnelles, créant ainsi des colonnes masquées qui comptent pour la limite de 1 000 colonnes.\nType de données\nSpécifiez le type de données d&#39;une colonne.\nNotes sur les types de données de colonne de table Les remarques suivantes s&#39;appliquent aux types de données des colonnes de table:","html":"<p>schéma\nSpécifiez le schéma pour contenir la table. Si vous omettez schéma, la base de données crée alors la table dans votre propre schéma.\ntable\nSpécifiez le nom de la table ou de la table d&#039;objets à créer.\npropriétés_relationnelles\nLes propriétés relationnelles décrivent les composants d&#039;une table relationnelle.\ndéfinition_colonne\nle définition_colonne    vous permet de définir les caractéristiques de la colonne.\ncolonne \nSpécifiez le nom d&#039;une colonne de la table.\nSi vous spécifiez également COMME sous-requêtealors vous pouvez omettre colonne    et Type de données    sauf si vous créez une table organisée par index. Si vous spécifiez COMME sous-requête    lors de la création d&#039;une table organisée par index, vous devez spécifier colonneet vous devez l&#039;omettre Type de données.\nLe nombre maximum absolu de colonnes dans une table est 1000. Toutefois, lorsque vous créez une table objet ou une table relationnelle avec des colonnes d&#039;objet, une table imbriquée, un tableau de variables ou REF type, Oracle Database mappe les colonnes des types définis par l&#039;utilisateur sur des colonnes relationnelles, créant ainsi des colonnes masquées qui comptent pour la limite de 1 000 colonnes.\nType de données\nSpécifiez le type de données d&#039;une colonne.\nNotes sur les types de données de colonne de table Les remarques suivantes s&#039;appliquent aux types de données des colonnes de table:</p>"},{"id":"text-73","type":"text","heading":"","plain_text":"Si vous spécifiez COMME sous-requêtealors vous pouvez omettre Type de données. Si vous créez une table organisée par index et que vous spécifiez COMME sous-requête, vous devez alors omettre le type de données.","html":"<p>Si vous spécifiez COMME sous-requêtealors vous pouvez omettre Type de données. Si vous créez une table organisée par index et que vous spécifiez COMME sous-requête, vous devez alors omettre le type de données.</p>"},{"id":"text-74","type":"text","heading":"","plain_text":"Vous pouvez aussi omettre Type de données    si l&#39;instruction désigne la colonne en tant que partie d&#39;une clé étrangère dans une contrainte d&#39;intégrité référentielle. Oracle Database affecte automatiquement à la colonne le type de données de la colonne correspondante de la clé référencée de la contrainte d&#39;intégrité référentielle.","html":"<p>Vous pouvez aussi omettre Type de données    si l&#039;instruction désigne la colonne en tant que partie d&#039;une clé étrangère dans une contrainte d&#039;intégrité référentielle. Oracle Database affecte automatiquement à la colonne le type de données de la colonne correspondante de la clé référencée de la contrainte d&#039;intégrité référentielle.</p>"},{"id":"text-75","type":"text","heading":"","plain_text":"Ne créez pas de table avec LONGUE Colonnes. Utiliser les colonnes LOB (CLOB, NCLOB, GOUTTE) au lieu. LONGUE les colonnes sont prises en charge uniquement pour des raisons de compatibilité ascendante.","html":"<p>Ne créez pas de table avec LONGUE Colonnes. Utiliser les colonnes LOB (CLOB, NCLOB, GOUTTE) au lieu. LONGUE les colonnes sont prises en charge uniquement pour des raisons de compatibilité ascendante.</p>"},{"id":"text-76","type":"text","heading":"","plain_text":"Restriction sur les types de données de colonne de table Vous pouvez spécifier une colonne de type ROWID, mais Oracle Database ne garantit pas que les valeurs de ces colonnes sont des ID de ligne valides.","html":"<p>Restriction sur les types de données de colonne de table Vous pouvez spécifier une colonne de type ROWID, mais Oracle Database ne garantit pas que les valeurs de ces colonnes sont des ID de ligne valides.</p>"},{"id":"text-77","type":"text","heading":"","plain_text":"Voir également:\n&quot;Types de données&quot; pour plus d&#39;informations sur LONGUE colonnes et sur les types de données fournis par Oracle\nTRIER \nle TRIER mot-clé est valide uniquement si vous créez cette table dans le cadre d&#39;un cluster de hachage et uniquement pour les colonnes qui sont également des colonnes de cluster.\nCette clause indique à la base de données de trier les lignes du cluster sur cette colonne avant d&#39;appliquer la fonction de hachage. Cela pourrait améliorer le temps de réponse lors d&#39;opérations ultérieures sur les données en cluster.\nDÉFAUT \nle DÉFAUT Cette clause vous permet de spécifier une valeur à affecter à la colonne si une nouvelle INSÉRER instruction omet une valeur pour la colonne. Le type de données de l&#39;expression doit correspondre à celui de la colonne. La colonne doit également être suffisamment longue pour contenir cette expression.\nle DÉFAUT expression peut inclure n&#39;importe quelle fonction SQL tant qu&#39;elle ne renvoie pas d&#39;argument littéral, de référence de colonne ou d&#39;appel de fonction imbriquée.\nRestriction sur les valeurs de colonne par défaut UNE DÉFAUT expression ne peut pas contenir de références à des fonctions PL / SQL ni à d’autres colonnes, les pseudocolonnes CURRVAL, NEXTVAL, NIVEAU, AVANT, et ROWNUM, ou des constantes de date qui ne sont pas complètement spécifiées.\nCRYPTER encryption_spec \nle CRYPTER Cette clause vous permet d’utiliser la fonctionnalité de chiffrement de données transparente pour chiffrer la colonne que vous définissez. Vous pouvez chiffrer des colonnes de type CARBONISER, NCHAR, VARCHAR2, NVARCHAR2, NOMBRE, DATE, et BRUT. Les données n&#39;apparaissent pas sous leur forme chiffrée pour les utilisateurs autorisés, tels que l&#39;utilisateur qui chiffre la colonne.\nEN UTILISANT &#39;algorithme d&#39;encodage&#39; Utilisez cette clause pour spécifier le nom de l&#39;algorithme à utiliser. Les algorithmes valides sont 3DES168, AES128, AES192, et AES256. Si vous omettez cette clause, la base de données utilise AES192. Si vous chiffrez plusieurs colonnes dans la même table et si vous spécifiez la EN UTILISANT clause pour l’une des colonnes, vous devez spécifier le même algorithme de chiffrement pour toutes les colonnes chiffrées.\nIDENTIFIÉ PAR mot de passe Si vous spécifiez cette clause, la base de données dérive la clé de colonne du mot de passe spécifié.\nSEL | PAS DE SEL Par défaut, la base de données ajoute une chaîne aléatoire, appelée &quot;sel&quot;, au texte en clair de la colonne avant de la chiffrer. Si vous souhaitez utiliser la colonne en tant que clé d&#39;index, vous devez spécifier NON SEL. Prière de se référer à Guide de l&#39;administrateur Oracle Advanced Security pour une description de &quot;sel&quot; dans ce contexte.\nRestrictions sur la clause ENCRYPT: Les restrictions suivantes s&#39;appliquent au chiffrement de colonne:","html":"<p>Voir également:\n&quot;Types de données&quot; pour plus d&#039;informations sur LONGUE colonnes et sur les types de données fournis par Oracle\nTRIER \nle TRIER mot-clé est valide uniquement si vous créez cette table dans le cadre d&#039;un cluster de hachage et uniquement pour les colonnes qui sont également des colonnes de cluster.\nCette clause indique à la base de données de trier les lignes du cluster sur cette colonne avant d&#039;appliquer la fonction de hachage. Cela pourrait améliorer le temps de réponse lors d&#039;opérations ultérieures sur les données en cluster.\nDÉFAUT \nle DÉFAUT Cette clause vous permet de spécifier une valeur à affecter à la colonne si une nouvelle INSÉRER instruction omet une valeur pour la colonne. Le type de données de l&#039;expression doit correspondre à celui de la colonne. La colonne doit également être suffisamment longue pour contenir cette expression.\nle DÉFAUT expression peut inclure n&#039;importe quelle fonction SQL tant qu&#039;elle ne renvoie pas d&#039;argument littéral, de référence de colonne ou d&#039;appel de fonction imbriquée.\nRestriction sur les valeurs de colonne par défaut UNE DÉFAUT expression ne peut pas contenir de références à des fonctions PL / SQL ni à d’autres colonnes, les pseudocolonnes CURRVAL, NEXTVAL, NIVEAU, AVANT, et ROWNUM, ou des constantes de date qui ne sont pas complètement spécifiées.\nCRYPTER encryption_spec \nle CRYPTER Cette clause vous permet d’utiliser la fonctionnalité de chiffrement de données transparente pour chiffrer la colonne que vous définissez. Vous pouvez chiffrer des colonnes de type CARBONISER, NCHAR, VARCHAR2, NVARCHAR2, NOMBRE, DATE, et BRUT. Les données n&#039;apparaissent pas sous leur forme chiffrée pour les utilisateurs autorisés, tels que l&#039;utilisateur qui chiffre la colonne.\nEN UTILISANT &#039;algorithme d&#039;encodage&#039; Utilisez cette clause pour spécifier le nom de l&#039;algorithme à utiliser. Les algorithmes valides sont 3DES168, AES128, AES192, et AES256. Si vous omettez cette clause, la base de données utilise AES192. Si vous chiffrez plusieurs colonnes dans la même table et si vous spécifiez la EN UTILISANT clause pour l’une des colonnes, vous devez spécifier le même algorithme de chiffrement pour toutes les colonnes chiffrées.\nIDENTIFIÉ PAR mot de passe Si vous spécifiez cette clause, la base de données dérive la clé de colonne du mot de passe spécifié.\nSEL | PAS DE SEL Par défaut, la base de données ajoute une chaîne aléatoire, appelée &quot;sel&quot;, au texte en clair de la colonne avant de la chiffrer. Si vous souhaitez utiliser la colonne en tant que clé d&#039;index, vous devez spécifier NON SEL. Prière de se référer à Guide de l&#039;administrateur Oracle Advanced Security pour une description de &quot;sel&quot; dans ce contexte.\nRestrictions sur la clause ENCRYPT: Les restrictions suivantes s&#039;appliquent au chiffrement de colonne:</p>"},{"id":"text-78","type":"text","heading":"","plain_text":"Pour chiffrer une colonne dans une table externe, la table doit utiliser ORACLE_DATAPUMP comme son type d&#39;accès.","html":"<p>Pour chiffrer une colonne dans une table externe, la table doit utiliser ORACLE_DATAPUMP comme son type d&#039;accès.</p>"},{"id":"text-79","type":"text","heading":"","plain_text":"Vous ne pouvez pas chiffrer une colonne dans les tables appartenant à SYS.","html":"<p>Vous ne pouvez pas chiffrer une colonne dans les tables appartenant à SYS.</p>"},{"id":"text-80","type":"text","heading":"","plain_text":"Vous ne pouvez pas chiffrer une colonne de clé étrangère.","html":"<p>Vous ne pouvez pas chiffrer une colonne de clé étrangère.</p>"},{"id":"text-81","type":"text","heading":"","plain_text":"Clauses de contrainte\nUtilisez ces clauses pour créer des contraintes sur les colonnes de la table. Vous devez spécifier un PRIMAIRE CLÉ contrainte pour une table organisée par index, et il ne peut pas être Reportable. Prière de se référer à contrainte    pour la syntaxe et la description de ces contraintes ainsi que des exemples.\ninline_ref_constraint et out_of_line_ref_constraint  Ces clauses vous permettent de décrire une colonne de type REF. La seule différence entre ces clauses est que vous spécifiez out_of_line_ref_constraint    au niveau de la table, vous devez donc identifier le REF colonne ou attribut que vous définissez. Spécifier inline_ref_constraint    dans le cadre de la définition du REF colonne ou attribut.\ninline_constraiNT  Utilisez le inline_constraint    définir une contrainte d’intégrité dans la définition de la colonne.\nVous pouvez créer UNIQUE, PRIMAIRE CLÉ, et RÉFÉRENCES contraintes sur les attributs scalaires des colonnes de type d&#39;objet. Vous pouvez également créer NE PAS NUL contraintes sur les colonnes de type d&#39;objet et VÉRIFIER des contraintes qui font référence à des colonnes de type d&#39;objet ou à tout attribut d&#39;une colonne de type d&#39;objet.\nout_of_line_constraint  Utilisez le out_of_line_constraint    syntaxe pour définir une contrainte d&#39;intégrité dans la définition de la table.\nsupplemental_logging_props \nle supplemental_logging_props    Cette clause vous permet de charger la base de données de placer des données supplémentaires dans le flux de journaux afin de prendre en charge les outils basés sur les journaux.\nsupplemental_log_grp_clause Utilisez cette clause pour créer un groupe de journaux nommé.","html":"<p>Clauses de contrainte\nUtilisez ces clauses pour créer des contraintes sur les colonnes de la table. Vous devez spécifier un PRIMAIRE CLÉ contrainte pour une table organisée par index, et il ne peut pas être Reportable. Prière de se référer à contrainte    pour la syntaxe et la description de ces contraintes ainsi que des exemples.\ninline_ref_constraint et out_of_line_ref_constraint  Ces clauses vous permettent de décrire une colonne de type REF. La seule différence entre ces clauses est que vous spécifiez out_of_line_ref_constraint    au niveau de la table, vous devez donc identifier le REF colonne ou attribut que vous définissez. Spécifier inline_ref_constraint    dans le cadre de la définition du REF colonne ou attribut.\ninline_constraiNT  Utilisez le inline_constraint    définir une contrainte d’intégrité dans la définition de la colonne.\nVous pouvez créer UNIQUE, PRIMAIRE CLÉ, et RÉFÉRENCES contraintes sur les attributs scalaires des colonnes de type d&#039;objet. Vous pouvez également créer NE PAS NUL contraintes sur les colonnes de type d&#039;objet et VÉRIFIER des contraintes qui font référence à des colonnes de type d&#039;objet ou à tout attribut d&#039;une colonne de type d&#039;objet.\nout_of_line_constraint  Utilisez le out_of_line_constraint    syntaxe pour définir une contrainte d&#039;intégrité dans la définition de la table.\nsupplemental_logging_props \nle supplemental_logging_props    Cette clause vous permet de charger la base de données de placer des données supplémentaires dans le flux de journaux afin de prendre en charge les outils basés sur les journaux.\nsupplemental_log_grp_clause Utilisez cette clause pour créer un groupe de journaux nommé.</p>"},{"id":"text-82","type":"text","heading":"","plain_text":"le NON BÛCHE Cette clause vous permet d’omettre du journal de reprise une ou plusieurs colonnes qui seraient autrement incluses dans le rétablissement du groupe de journaux nommé. Vous devez spécifier au moins une colonne de longueur fixe sans NON BÛCHE dans le groupe de journaux nommé.","html":"<p>le NON BÛCHE Cette clause vous permet d’omettre du journal de reprise une ou plusieurs colonnes qui seraient autrement incluses dans le rétablissement du groupe de journaux nommé. Vous devez spécifier au moins une colonne de longueur fixe sans NON BÛCHE dans le groupe de journaux nommé.</p>"},{"id":"text-83","type":"text","heading":"","plain_text":"Si vous spécifiez TOUJOURS, puis lors d’une mise à jour, la base de données inclut dans la restauration toutes les colonnes du groupe de journaux. Ceci s&#39;appelle un groupe de journaux inconditionnel (parfois appelé &quot;groupe de journalisation&quot;), car Oracle Database enregistre de manière complémentaire toutes les colonnes du groupe de journalisation lorsque la ligne associée est modifiée. Si vous omettez TOUJOURS, la base de données enregistre ensuite toutes les colonnes du groupe de journaux uniquement si l’une quelconque des colonnes du groupe de journaux est modifiée. Ceci s&#39;appelle un groupe de journaux conditionnel.","html":"<p>Si vous spécifiez TOUJOURS, puis lors d’une mise à jour, la base de données inclut dans la restauration toutes les colonnes du groupe de journaux. Ceci s&#039;appelle un groupe de journaux inconditionnel (parfois appelé &quot;groupe de journalisation&quot;), car Oracle Database enregistre de manière complémentaire toutes les colonnes du groupe de journalisation lorsque la ligne associée est modifiée. Si vous omettez TOUJOURS, la base de données enregistre ensuite toutes les colonnes du groupe de journaux uniquement si l’une quelconque des colonnes du groupe de journaux est modifiée. Ceci s&#039;appelle un groupe de journaux conditionnel.</p>"},{"id":"text-84","type":"text","heading":"","plain_text":"Vous pouvez interroger le approprié UTILISATEUR_, TOUT_, ou DBA_LOG_GROUP_COLUMNS dictionnaire de données pour déterminer si une journalisation supplémentaire a déjà été spécifiée.\nsupplemental_id_key_clause Utilisez cette clause pour spécifier que toutes les colonnes de clé primaire, de clé unique et de clé étrangère, ou une combinaison de celles-ci, doivent être journalisées. Oracle Database générera soit un groupe de journaux inconditionnel ou un groupe de journaux conditionnel. Avec un groupe de journaux inconditionnel, la base de données enregistre de manière supplémentaire toutes les colonnes du groupe de journaux lorsque la ligne associée est modifiée. Avec un groupe de journaux conditionnel, la base de données enregistre de manière complémentaire toutes les colonnes du groupe de journaux uniquement si l&#39;une des colonnes du groupe de journaux est modifiée.","html":"<p>Vous pouvez interroger le approprié UTILISATEUR_, TOUT_, ou DBA_LOG_GROUP_COLUMNS dictionnaire de données pour déterminer si une journalisation supplémentaire a déjà été spécifiée.\nsupplemental_id_key_clause Utilisez cette clause pour spécifier que toutes les colonnes de clé primaire, de clé unique et de clé étrangère, ou une combinaison de celles-ci, doivent être journalisées. Oracle Database générera soit un groupe de journaux inconditionnel ou un groupe de journaux conditionnel. Avec un groupe de journaux inconditionnel, la base de données enregistre de manière supplémentaire toutes les colonnes du groupe de journaux lorsque la ligne associée est modifiée. Avec un groupe de journaux conditionnel, la base de données enregistre de manière complémentaire toutes les colonnes du groupe de journaux uniquement si l&#039;une des colonnes du groupe de journaux est modifiée.</p>"},{"id":"text-85","type":"text","heading":"","plain_text":"Si vous spécifiez TOUT COLONNES, alors la base de données inclut dans le journal de restauration toutes les colonnes de taille maximale de longueur fixe de cette ligne. Un tel journal de rétablissement est un groupe de journaux inconditionnel généré par le système.","html":"<p>Si vous spécifiez TOUT COLONNES, alors la base de données inclut dans le journal de restauration toutes les colonnes de taille maximale de longueur fixe de cette ligne. Un tel journal de rétablissement est un groupe de journaux inconditionnel généré par le système.</p>"},{"id":"text-86","type":"text","heading":"","plain_text":"Si vous spécifiez PRIMAIRE CLÉ COLONNES, puis pour toutes les tables avec une clé primaire, la base de données place dans le journal de restauration toutes les colonnes de la clé primaire chaque fois qu&#39;une mise à jour est effectuée. Oracle Database évalue les colonnes à consigner de manière supplémentaire comme suit:","html":"<p>Si vous spécifiez PRIMAIRE CLÉ COLONNES, puis pour toutes les tables avec une clé primaire, la base de données place dans le journal de restauration toutes les colonnes de la clé primaire chaque fois qu&#039;une mise à jour est effectuée. Oracle Database évalue les colonnes à consigner de manière supplémentaire comme suit:</p>"},{"id":"text-87","type":"text","heading":"","plain_text":"La base de données choisit d’abord les colonnes de la contrainte de clé primaire, si celle-ci est validée ou marquée COMPTER et n&#39;est pas marqué comme DÉSACTIVÉ ou INITIALEMENT DIFFÉRÉ.","html":"<p>La base de données choisit d’abord les colonnes de la contrainte de clé primaire, si celle-ci est validée ou marquée COMPTER et n&#039;est pas marqué comme DÉSACTIVÉ ou INITIALEMENT DIFFÉRÉ.</p>"},{"id":"text-88","type":"text","heading":"","plain_text":"Si aucune colonne de clé primaire n&#39;existe, la base de données recherche la plus petite UNIQUE index avec au moins un NE PAS NUL colonne et utilise les colonnes de cet index.","html":"<p>Si aucune colonne de clé primaire n&#039;existe, la base de données recherche la plus petite UNIQUE index avec au moins un NE PAS NUL colonne et utilise les colonnes de cet index.</p>"},{"id":"text-89","type":"text","heading":"","plain_text":"Si aucun index de ce type n&#39;existe, la base de données enregistre ensuite toutes les colonnes scalaires de la table.","html":"<p>Si aucun index de ce type n&#039;existe, la base de données enregistre ensuite toutes les colonnes scalaires de la table.</p>"},{"id":"text-90","type":"text","heading":"","plain_text":"Si vous spécifiez UNIQUE COLONNES, puis pour toutes les tables avec une clé unique ou un index bitmap, si l’une quelconque des colonnes d’index clé unique ou bitmap est modifiée, la base de données place dans le journal de restauration toutes les autres colonnes appartenant à la clé unique ou à l’index bitmap. Un tel groupe de journaux est un groupe de journaux conditionnel généré par le système.","html":"<p>Si vous spécifiez UNIQUE COLONNES, puis pour toutes les tables avec une clé unique ou un index bitmap, si l’une quelconque des colonnes d’index clé unique ou bitmap est modifiée, la base de données place dans le journal de restauration toutes les autres colonnes appartenant à la clé unique ou à l’index bitmap. Un tel groupe de journaux est un groupe de journaux conditionnel généré par le système.</p>"},{"id":"text-91","type":"text","heading":"","plain_text":"Si vous spécifiez ÉTRANGER CLÉ COLONNES, puis pour toutes les tables avec une clé étrangère, si des colonnes de clé étrangère sont modifiées, la base de données place dans le journal de restauration toutes les autres colonnes appartenant à la clé étrangère. Un tel journal de rétablissement est un groupe de journaux conditionnel généré par le système.","html":"<p>Si vous spécifiez ÉTRANGER CLÉ COLONNES, puis pour toutes les tables avec une clé étrangère, si des colonnes de clé étrangère sont modifiées, la base de données place dans le journal de restauration toutes les autres colonnes appartenant à la clé étrangère. Un tel journal de rétablissement est un groupe de journaux conditionnel généré par le système.</p>"},{"id":"text-92","type":"text","heading":"","plain_text":"Si vous spécifiez cette clause plusieurs fois, la base de données crée un groupe de journaux distinct pour chaque spécification. Vous pouvez interroger le approprié UTILISATEUR_, TOUT_, ou DBA_LOG_GROUPS dictionnaire de données pour déterminer si des données de journalisation supplémentaires ont déjà été spécifiées.\nSUR COMMETTRE\nle SUR COMMETTRE La clause n&#39;est pertinente que si vous créez une table temporaire. Cette clause spécifie si les données de la table temporaire sont conservées pendant la durée d&#39;une transaction ou d&#39;une session.\nSUPPRIMER LES RANGES Spécifier EFFACER LIGNES pour une table temporaire spécifique à une transaction. C&#39;est la valeur par défaut. Oracle Database tronquera la table (supprimera toutes ses lignes) après chaque validation.\nPréserver les rangs Spécifier PRÉSERVER LIGNES pour une table temporaire spécifique à la session. Oracle Database tronque la table (supprime toutes ses lignes) lorsque vous terminez la session.\npropriétés physiques\nLes propriétés physiques concernent le traitement des étendues et des segments et les caractéristiques de stockage de la table.\nsegment_attributes_clause \nle segment_attributes_clause    vous permet de spécifier les attributs physiques et le stockage d&#39;espace table pour la table.\nclause_attributs_ physiques le clause_attributs_ physiques    vous permet de spécifier la valeur du PCTFREE, PCTUSED, et INITRANS paramètres et les caractéristiques de stockage de la table.","html":"<p>Si vous spécifiez cette clause plusieurs fois, la base de données crée un groupe de journaux distinct pour chaque spécification. Vous pouvez interroger le approprié UTILISATEUR_, TOUT_, ou DBA_LOG_GROUPS dictionnaire de données pour déterminer si des données de journalisation supplémentaires ont déjà été spécifiées.\nSUR COMMETTRE\nle SUR COMMETTRE La clause n&#039;est pertinente que si vous créez une table temporaire. Cette clause spécifie si les données de la table temporaire sont conservées pendant la durée d&#039;une transaction ou d&#039;une session.\nSUPPRIMER LES RANGES Spécifier EFFACER LIGNES pour une table temporaire spécifique à une transaction. C&#039;est la valeur par défaut. Oracle Database tronquera la table (supprimera toutes ses lignes) après chaque validation.\nPréserver les rangs Spécifier PRÉSERVER LIGNES pour une table temporaire spécifique à la session. Oracle Database tronque la table (supprime toutes ses lignes) lorsque vous terminez la session.\npropriétés physiques\nLes propriétés physiques concernent le traitement des étendues et des segments et les caractéristiques de stockage de la table.\nsegment_attributes_clause \nle segment_attributes_clause    vous permet de spécifier les attributs physiques et le stockage d&#039;espace table pour la table.\nclause_attributs_ physiques le clause_attributs_ physiques    vous permet de spécifier la valeur du PCTFREE, PCTUSED, et INITRANS paramètres et les caractéristiques de stockage de la table.</p>"},{"id":"text-93","type":"text","heading":"","plain_text":"Pour une table non partitionnée, chaque paramètre et caractéristique de stockage que vous spécifiez détermine l&#39;attribut physique réel du segment associé à la table.","html":"<p>Pour une table non partitionnée, chaque paramètre et caractéristique de stockage que vous spécifiez détermine l&#039;attribut physique réel du segment associé à la table.</p>"},{"id":"text-94","type":"text","heading":"","plain_text":"Pour les tables partitionnées, la valeur que vous spécifiez pour le paramètre ou la caractéristique de stockage est l&#39;attribut physique par défaut des segments associés à toutes les partitions spécifiées dans cette section. CRÉER déclaration (et dans la suite MODIFIER TABLE &#8230; AJOUTER CLOISON instructions), sauf si vous écrasez explicitement cette valeur dans CLOISON clause de l&#39;instruction qui crée la partition.","html":"<p>Pour les tables partitionnées, la valeur que vous spécifiez pour le paramètre ou la caractéristique de stockage est l&#039;attribut physique par défaut des segments associés à toutes les partitions spécifiées dans cette section. CRÉER déclaration (et dans la suite MODIFIER TABLE &#8230; AJOUTER CLOISON instructions), sauf si vous écrasez explicitement cette valeur dans CLOISON clause de l&#039;instruction qui crée la partition.</p>"},{"id":"text-95","type":"text","heading":"","plain_text":"Si vous omettez cette clause, Oracle Database définit PCTFREE à 10, PCTUSED à 40, et INITRANS à 1.\nTABLESPACE  Spécifiez l&#39;espace de table dans lequel Oracle Database crée la table, table d&#39;objet OIDINDEX, partition, segment de données LOB, segment d&#39;index LOB ou segment de données de dépassement de table organisé par index. Si vous omettez TABLESPACE, puis la base de données crée cet élément dans l’espace table par défaut du propriétaire du schéma contenant la table.\nPour une table organisée en tas avec une ou plusieurs colonnes LOB, si vous omettez le TABLESPACE clause de stockage LOB, la base de données crée les segments de données LOB et d’index dans le tablespace où la table est créée.\nPour une table organisée par index avec une ou plusieurs colonnes LOB, si vous omettez TABLESPACE, puis les segments de données et d&#39;index LOB sont créés dans l&#39;espace de table dans lequel le segment d&#39;index de clé primaire de la table organisée par index est créé.\nPour les tables non partitionnées, la valeur spécifiée pour TABLESPACE est l&#39;attribut physique réel du segment associé à la table. Pour les tables partitionnées, la valeur spécifiée pour TABLESPACE est l&#39;attribut physique par défaut des segments associés à toutes les partitions spécifiées dans le champ CRÉER déclaration et à la suite MODIFIER TABLE &#8230; AJOUTER CLOISON déclarations, sauf si vous spécifiez TABLESPACE dans le CLOISON la description.\nclause_logging \nIndiquez si la création de la table et de tout index requis en raison de contraintes, de caractéristiques de partition ou de stockage LOB sera consignée dans le fichier journal redo (ENREGISTREMENT) ou pas (NOLOGGING). L’attribut de journalisation de la table est indépendant de celui de ses index.\nCet attribut indique également si le chargeur direct ultérieur (SQL * Loader) et le chemin direct INSÉRER les opérations sur la table, la partition ou le stockage LOB sont consignées (ENREGISTREMENT) ou non connecté (NOLOGGING).\nPrière de se référer à clause_logging    pour une description complète de cette clause.\ncompression_table \nle compression_table    La clause n&#39;est valide que pour les tables organisées par tas. Utilisez cette clause pour indiquer à la base de données s&#39;il faut compresser les segments de données pour réduire l&#39;utilisation du disque. Cette clause est particulièrement utile dans des environnements tels que les entrepôts de données, où le nombre d&#39;opérations d&#39;insertion et de mise à jour est faible. le COMPRESSE mot clé active la compression de table. le NOCOMPRESS mot clé désactive la compression de la table. NOCOMPRESS est la valeur par défaut.\nLorsque vous activez la compression de table, Oracle Database tente de compresser les données lors d&#39;un accès direct. INSÉRER opérations quand il est productif de le faire. L&#39;utilitaire d&#39;importation d&#39;origine (imp) ne prend pas en charge le chemin direct. INSÉRERet ne peut donc pas importer des données dans un format compressé. Vous pouvez spécifier une compression de table pour les parties suivantes d&#39;une table organisée par tas:","html":"<p>Si vous omettez cette clause, Oracle Database définit PCTFREE à 10, PCTUSED à 40, et INITRANS à 1.\nTABLESPACE  Spécifiez l&#039;espace de table dans lequel Oracle Database crée la table, table d&#039;objet OIDINDEX, partition, segment de données LOB, segment d&#039;index LOB ou segment de données de dépassement de table organisé par index. Si vous omettez TABLESPACE, puis la base de données crée cet élément dans l’espace table par défaut du propriétaire du schéma contenant la table.\nPour une table organisée en tas avec une ou plusieurs colonnes LOB, si vous omettez le TABLESPACE clause de stockage LOB, la base de données crée les segments de données LOB et d’index dans le tablespace où la table est créée.\nPour une table organisée par index avec une ou plusieurs colonnes LOB, si vous omettez TABLESPACE, puis les segments de données et d&#039;index LOB sont créés dans l&#039;espace de table dans lequel le segment d&#039;index de clé primaire de la table organisée par index est créé.\nPour les tables non partitionnées, la valeur spécifiée pour TABLESPACE est l&#039;attribut physique réel du segment associé à la table. Pour les tables partitionnées, la valeur spécifiée pour TABLESPACE est l&#039;attribut physique par défaut des segments associés à toutes les partitions spécifiées dans le champ CRÉER déclaration et à la suite MODIFIER TABLE &#8230; AJOUTER CLOISON déclarations, sauf si vous spécifiez TABLESPACE dans le CLOISON la description.\nclause_logging \nIndiquez si la création de la table et de tout index requis en raison de contraintes, de caractéristiques de partition ou de stockage LOB sera consignée dans le fichier journal redo (ENREGISTREMENT) ou pas (NOLOGGING). L’attribut de journalisation de la table est indépendant de celui de ses index.\nCet attribut indique également si le chargeur direct ultérieur (SQL * Loader) et le chemin direct INSÉRER les opérations sur la table, la partition ou le stockage LOB sont consignées (ENREGISTREMENT) ou non connecté (NOLOGGING).\nPrière de se référer à clause_logging    pour une description complète de cette clause.\ncompression_table \nle compression_table    La clause n&#039;est valide que pour les tables organisées par tas. Utilisez cette clause pour indiquer à la base de données s&#039;il faut compresser les segments de données pour réduire l&#039;utilisation du disque. Cette clause est particulièrement utile dans des environnements tels que les entrepôts de données, où le nombre d&#039;opérations d&#039;insertion et de mise à jour est faible. le COMPRESSE mot clé active la compression de table. le NOCOMPRESS mot clé désactive la compression de la table. NOCOMPRESS est la valeur par défaut.\nLorsque vous activez la compression de table, Oracle Database tente de compresser les données lors d&#039;un accès direct. INSÉRER opérations quand il est productif de le faire. L&#039;utilitaire d&#039;importation d&#039;origine (imp) ne prend pas en charge le chemin direct. INSÉRERet ne peut donc pas importer des données dans un format compressé. Vous pouvez spécifier une compression de table pour les parties suivantes d&#039;une table organisée par tas:</p>"},{"id":"text-96","type":"text","heading":"","plain_text":"Pour une table entière, dans le propriétés physiques    clause de table_relationnelle    ou objet_table","html":"<p>Pour une table entière, dans le propriétés physiques    clause de table_relationnelle    ou objet_table</p>"},{"id":"text-97","type":"text","heading":"","plain_text":"For a range partition, in the table_partition_description    du range_partitioning    clause","html":"<p>For a range partition, in the table_partition_description    du range_partitioning    clause</p>"},{"id":"text-98","type":"text","heading":"","plain_text":"For a list partition, in the table_partition_description    du list_partitioning    clause","html":"<p>For a list partition, in the table_partition_description    du list_partitioning    clause</p>"},{"id":"text-99","type":"text","heading":"","plain_text":"For the storage table of a nested table, in the nested_table_col_properties    clause","html":"<p>For the storage table of a nested table, in the nested_table_col_properties    clause</p>"},{"id":"text-100","type":"text","heading":"","plain_text":"Restrictions on Table Compression Table compression is subject to the following restrictions:","html":"<p>Restrictions on Table Compression Table compression is subject to the following restrictions:</p>"},{"id":"text-101","type":"text","heading":"","plain_text":"Table compression is not supported for tables with more than 255 columns.","html":"<p>Table compression is not supported for tables with more than 255 columns.</p>"},{"id":"text-102","type":"text","heading":"","plain_text":"LOB data segments are not compressed.","html":"<p>LOB data segments are not compressed.</p>"},{"id":"text-103","type":"text","heading":"","plain_text":"You cannot specify table compression for an index-organized table, any overflow segment or partition of an overflow segment, or any mapping table segment of an index-organized table.","html":"<p>You cannot specify table compression for an index-organized table, any overflow segment or partition of an overflow segment, or any mapping table segment of an index-organized table.</p>"},{"id":"text-104","type":"text","heading":"","plain_text":"You cannot define table compression explicitly for hash partitions or hash and list subpartitions. The table compression attribute for those partitions is inherited from the tablespace, the table, or the table partition setting.","html":"<p>You cannot define table compression explicitly for hash partitions or hash and list subpartitions. The table compression attribute for those partitions is inherited from the tablespace, the table, or the table partition setting.</p>"},{"id":"text-105","type":"text","heading":"","plain_text":"You cannot specify table compression for external tables or for tables that are part of a cluster.","html":"<p>You cannot specify table compression for external tables or for tables that are part of a cluster.</p>"},{"id":"text-106","type":"text","heading":"","plain_text":"RECOVERABLE | UNRECOVERABLE \nThese keywords are deprecated and have been replaced with LOGGING et NOLOGGING, respectivement. Bien que RECOVERABLE et UNRECOVERABLE are supported for backward compatibility, Oracle strongly recommends that you use the LOGGING et NOLOGGING keywords.\nRestrictions on [UN]RECOVERABLE This clause is subject to the following restrictions:","html":"<p>RECOVERABLE | UNRECOVERABLE \nThese keywords are deprecated and have been replaced with LOGGING et NOLOGGING, respectivement. Bien que RECOVERABLE et UNRECOVERABLE are supported for backward compatibility, Oracle strongly recommends that you use the LOGGING et NOLOGGING keywords.\nRestrictions on [UN]RECOVERABLE This clause is subject to the following restrictions:</p>"},{"id":"text-107","type":"text","heading":"","plain_text":"You cannot specify RECOVERABLE for partitioned tables or LOB storage characteristics.","html":"<p>You cannot specify RECOVERABLE for partitioned tables or LOB storage characteristics.</p>"},{"id":"text-108","type":"text","heading":"","plain_text":"You cannot specify UNRECOVERABLE for partitioned or index-organized tables.","html":"<p>You cannot specify UNRECOVERABLE for partitioned or index-organized tables.</p>"},{"id":"text-109","type":"text","heading":"","plain_text":"You can specify UNRECOVERABLE only with COMME subquery.","html":"<p>You can specify UNRECOVERABLE only with COMME subquery.</p>"},{"id":"text-110","type":"text","heading":"","plain_text":"ORGANIZATION \nle ORGANIZATION clause lets you specify the order in which the data rows of the table are stored.\nHEAP HEAP indicates that the data rows of table    are stored in no particular order. This is the default.\nINDEX INDEX indicates that table    is created as an index-organized table. In an index-organized table, the data rows are held in an index defined on the primary key for the table.\nEXTERNAL EXTERNAL indicates that table is a read-only table located outside the database.\nindex_org_table_clause\nUtilisez le index_org_table_clause    to create an index-organized table. Oracle Database maintains the table rows, both primary key column values and nonkey column values, in an index built on the primary key. Index-organized tables are therefore best suited for primary key-based access and manipulation. An index-organized table is an alternative to:","html":"<p>ORGANIZATION \nle ORGANIZATION clause lets you specify the order in which the data rows of the table are stored.\nHEAP HEAP indicates that the data rows of table    are stored in no particular order. This is the default.\nINDEX INDEX indicates that table    is created as an index-organized table. In an index-organized table, the data rows are held in an index defined on the primary key for the table.\nEXTERNAL EXTERNAL indicates that table is a read-only table located outside the database.\nindex_org_table_clause\nUtilisez le index_org_table_clause    to create an index-organized table. Oracle Database maintains the table rows, both primary key column values and nonkey column values, in an index built on the primary key. Index-organized tables are therefore best suited for primary key-based access and manipulation. An index-organized table is an alternative to:</p>"},{"id":"text-111","type":"text","heading":"","plain_text":"A noncluster table indexed on the primary key by using the CREATE INDEX déclaration","html":"<p>A noncluster table indexed on the primary key by using the CREATE INDEX déclaration</p>"},{"id":"text-112","type":"text","heading":"","plain_text":"A cluster table stored in an indexed cluster that has been created using the CREATE CLUSTER statement that maps the primary key for the table to the cluster key","html":"<p>A cluster table stored in an indexed cluster that has been created using the CREATE CLUSTER statement that maps the primary key for the table to the cluster key</p>"},{"id":"text-113","type":"text","heading":"","plain_text":"You must specify a primary key for an index-organized table, because the primary key uniquely identifies a row. The primary key cannot be DEFERRABLE. Use the primary key instead of the rowid for directly accessing index-organized rows.\nIf an index-organized table is partitioned and contains LOB columns, then you should specify the index_org_table_clause    first, then the LOB_storage_clause, and then the appropriate table_partitioning_clauses.\nYou cannot use the TO_LOB function to convert a LONG column to a LOB column in the subquery of a CREATE TABLE &#8230; COMME SELECT statement if you are creating an index-organized table. Instead, create the index-organized table without the LONG column, and then use the TO_LOB function in an INSÉRER &#8230; COMME SELECT déclaration.\nRestrictions on Index-Organized Tables Index-organized tables are subject to the following restrictions:\nPCTTHRESHOLD entier Specify the percentage of space reserved in the index block for an index-organized table row. PCTTHRESHOLD must be large enough to hold the primary key. All trailing columns of a row, starting with the column that causes the specified threshold to be exceeded, are stored in the overflow segment. PCTTHRESHOLD must be a value from 1 to 50. If you do not specify PCTTHRESHOLD, the default is 50.\nRestriction on PCTTHRESHOLD You cannot specify PCTTHRESHOLD for individual partitions of an index-organized table.\nmapping_table_clauses Specify MAPPING TABLE to instruct the database to create a mapping of local to physical ROWIDs and store them in a heap-organized table. This mapping is needed in order to create a bitmap index on the index-organized table. If the index-organized table is partitioned, then the mapping table is also partitioned and its partitions have the same name and physical attributes as the base table partitions.\nOracle Database creates the mapping table or mapping table partition in the same tablespace as its parent index-organized table or partition. You cannot query, perform DML operations on, or modify the storage characteristics of the mapping table or its partitions.\nkey_compression  le key_compression    clauses let you enable or disable key compression for index-organized tables.","html":"<p>You must specify a primary key for an index-organized table, because the primary key uniquely identifies a row. The primary key cannot be DEFERRABLE. Use the primary key instead of the rowid for directly accessing index-organized rows.\nIf an index-organized table is partitioned and contains LOB columns, then you should specify the index_org_table_clause    first, then the LOB_storage_clause, and then the appropriate table_partitioning_clauses.\nYou cannot use the TO_LOB function to convert a LONG column to a LOB column in the subquery of a CREATE TABLE &#8230; COMME SELECT statement if you are creating an index-organized table. Instead, create the index-organized table without the LONG column, and then use the TO_LOB function in an INSÉRER &#8230; COMME SELECT déclaration.\nRestrictions on Index-Organized Tables Index-organized tables are subject to the following restrictions:\nPCTTHRESHOLD entier Specify the percentage of space reserved in the index block for an index-organized table row. PCTTHRESHOLD must be large enough to hold the primary key. All trailing columns of a row, starting with the column that causes the specified threshold to be exceeded, are stored in the overflow segment. PCTTHRESHOLD must be a value from 1 to 50. If you do not specify PCTTHRESHOLD, the default is 50.\nRestriction on PCTTHRESHOLD You cannot specify PCTTHRESHOLD for individual partitions of an index-organized table.\nmapping_table_clauses Specify MAPPING TABLE to instruct the database to create a mapping of local to physical ROWIDs and store them in a heap-organized table. This mapping is needed in order to create a bitmap index on the index-organized table. If the index-organized table is partitioned, then the mapping table is also partitioned and its partitions have the same name and physical attributes as the base table partitions.\nOracle Database creates the mapping table or mapping table partition in the same tablespace as its parent index-organized table or partition. You cannot query, perform DML operations on, or modify the storage characteristics of the mapping table or its partitions.\nkey_compression  le key_compression    clauses let you enable or disable key compression for index-organized tables.</p>"},{"id":"text-114","type":"text","heading":"","plain_text":"Specify COMPRESS to enable key compression, which eliminates repeated occurrence of primary key column values in index-organized tables. Utilisation entier    to specify the prefix length, which is the number of prefix columns to compress.\nThe valid range of prefix length values is from 1 to the number of primary key columns minus 1. The default prefix length is the number of primary key columns minus 1.","html":"<p>Specify COMPRESS to enable key compression, which eliminates repeated occurrence of primary key column values in index-organized tables. Utilisation entier    to specify the prefix length, which is the number of prefix columns to compress.\nThe valid range of prefix length values is from 1 to the number of primary key columns minus 1. The default prefix length is the number of primary key columns minus 1.</p>"},{"id":"text-115","type":"text","heading":"","plain_text":"Specify NOCOMPRESS to disable key compression in index-organized tables. This is the default.","html":"<p>Specify NOCOMPRESS to disable key compression in index-organized tables. This is the default.</p>"},{"id":"text-116","type":"text","heading":"","plain_text":"Restriction on Key Compression of Index-organized Tables At the partition level, you can specify COMPRESS, but you cannot specify the prefix length with entier.\nindex_org_overflow_clause  le index_org_overflow_clause    lets you instruct the database that index-organized table data rows exceeding the specified threshold are placed in the data segment specified in this clause.","html":"<p>Restriction on Key Compression of Index-organized Tables At the partition level, you can specify COMPRESS, but you cannot specify the prefix length with entier.\nindex_org_overflow_clause  le index_org_overflow_clause    lets you instruct the database that index-organized table data rows exceeding the specified threshold are placed in the data segment specified in this clause.</p>"},{"id":"text-117","type":"text","heading":"","plain_text":"When you create an index-organized table, Oracle Database evaluates the maximum size of each column to estimate the largest possible row. If an overflow segment is needed but you have not specified OVERFLOW, then the database raises an error and does not execute the CREATE TABLE déclaration. This checking function guarantees that subsequent DML operations on the index-organized table will not fail because an overflow segment is lacking.","html":"<p>When you create an index-organized table, Oracle Database evaluates the maximum size of each column to estimate the largest possible row. If an overflow segment is needed but you have not specified OVERFLOW, then the database raises an error and does not execute the CREATE TABLE déclaration. This checking function guarantees that subsequent DML operations on the index-organized table will not fail because an overflow segment is lacking.</p>"},{"id":"text-118","type":"text","heading":"","plain_text":"All physical attributes and storage characteristics you specify in this clause after the OVERFLOW keyword apply only to the overflow segment of the table. Physical attributes and storage characteristics for the index-organized table itself, default values for all its partitions, and values for individual partitions must be specified before this keyword.","html":"<p>All physical attributes and storage characteristics you specify in this clause after the OVERFLOW keyword apply only to the overflow segment of the table. Physical attributes and storage characteristics for the index-organized table itself, default values for all its partitions, and values for individual partitions must be specified before this keyword.</p>"},{"id":"text-119","type":"text","heading":"","plain_text":"If the index-organized table contains one or more LOB columns, then the LOBs will be stored out-of-line unless you specify OVERFLOW, even if they would otherwise be small enough be to stored inline.","html":"<p>If the index-organized table contains one or more LOB columns, then the LOBs will be stored out-of-line unless you specify OVERFLOW, even if they would otherwise be small enough be to stored inline.</p>"},{"id":"text-120","type":"text","heading":"","plain_text":"Si table    is partitioned, then the database equipartitions the overflow data segments with the primary key index segments.","html":"<p>Si table    is partitioned, then the database equipartitions the overflow data segments with the primary key index segments.</p>"},{"id":"text-121","type":"text","heading":"","plain_text":"INCLUDING column_name Specify a column at which to divide an index-organized table row into index and overflow portions. The primary key columns are always stored in the index. column_name    can be either the last primary key column or any non primary key column. All non primary key columns that follow column_name    are stored in the overflow data segment.\nIf an attempt to divide a row at column_name    causes the size of the index portion of the row to exceed the specified or default PCTTHRESHOLD value, then the database breaks up the row based on the PCTTHRESHOLD valeur.\nRestriction on the INCLUDING Clause You cannot specify this clause for individual partitions of an index-organized table.\nexternal_table_clause \nUtilisez le external_table_clause    to create an external table, which is a read-only table whose metadata is stored in the database but whose data in stored outside the database. Among other capabilities, external tables let you query data without first loading it into the database.\nBecause external tables have no data in the database, you define them with a small subset of the clauses normally available when creating tables.","html":"<p>INCLUDING column_name Specify a column at which to divide an index-organized table row into index and overflow portions. The primary key columns are always stored in the index. column_name    can be either the last primary key column or any non primary key column. All non primary key columns that follow column_name    are stored in the overflow data segment.\nIf an attempt to divide a row at column_name    causes the size of the index portion of the row to exceed the specified or default PCTTHRESHOLD value, then the database breaks up the row based on the PCTTHRESHOLD valeur.\nRestriction on the INCLUDING Clause You cannot specify this clause for individual partitions of an index-organized table.\nexternal_table_clause \nUtilisez le external_table_clause    to create an external table, which is a read-only table whose metadata is stored in the database but whose data in stored outside the database. Among other capabilities, external tables let you query data without first loading it into the database.\nBecause external tables have no data in the database, you define them with a small subset of the clauses normally available when creating tables.</p>"},{"id":"text-122","type":"text","heading":"","plain_text":"Within the relational_properties    clause, you can specify only colonne    et datatype.","html":"<p>Within the relational_properties    clause, you can specify only colonne    et datatype.</p>"},{"id":"text-123","type":"text","heading":"","plain_text":"Within the physical_properties_clause, you can specify only the organization of the table (ORGANIZATION EXTERNAL external_table_clause).","html":"<p>Within the physical_properties_clause, you can specify only the organization of the table (ORGANIZATION EXTERNAL external_table_clause).</p>"},{"id":"text-124","type":"text","heading":"","plain_text":"Within the table_properties    clause, you can specify only the parallel_clause. le parallel_clause    lets you parallelize subsequent queries on the external data and subsequent operations that populate the external table.","html":"<p>Within the table_properties    clause, you can specify only the parallel_clause. le parallel_clause    lets you parallelize subsequent queries on the external data and subsequent operations that populate the external table.</p>"},{"id":"text-125","type":"text","heading":"","plain_text":"You can populate the external table at create time by using the COMME subquery    clause.","html":"<p>You can populate the external table at create time by using the COMME subquery    clause.</p>"},{"id":"text-126","type":"text","heading":"","plain_text":"No other clauses are permitted in the same CREATE TABLE déclaration.\nRestrictions on External Tables External tables are subject to the following restrictions:","html":"<p>No other clauses are permitted in the same CREATE TABLE déclaration.\nRestrictions on External Tables External tables are subject to the following restrictions:</p>"},{"id":"text-127","type":"text","heading":"","plain_text":"An external table cannot be a temporary table.","html":"<p>An external table cannot be a temporary table.</p>"},{"id":"text-128","type":"text","heading":"","plain_text":"You cannot specify constraints on an external table.","html":"<p>You cannot specify constraints on an external table.</p>"},{"id":"text-129","type":"text","heading":"","plain_text":"An external table cannot have object type, varray, or LONG columns. However, you can populate LOB columns of an external table with varray or LONG data from an internal database table.","html":"<p>An external table cannot have object type, varray, or LONG columns. However, you can populate LOB columns of an external table with varray or LONG data from an internal database table.</p>"},{"id":"text-130","type":"text","heading":"","plain_text":"TYPE  TYPE access_driver_type    indicates the access driver of the external table. The access driver is the API that interprets the external data for the database. Oracle Database provides two access drivers: ORACLE_LOADER et ORACLE_DATAPUMP. If you do not specify TYPE, then the database uses ORACLE_LOADER as the default access driver. You must specify the ORACLE_DATAPUMP access driver if you specify the COMME subquery    clause to unload data from one Oracle Database and reload it into the same or a different Oracle Database.\nDEFAULT DIRECTORY DEFAULT DIRECTORY lets you specify a default directory object corresponding to a directory on the file system where the external data sources may reside. The default directory can also be used by the access driver to store auxiliary files such as error logs.\nACCESS PARAMETERS The optional ACCESS PARAMETERS clause lets you assign values to the parameters of the specific access driver for this external table.","html":"<p>TYPE  TYPE access_driver_type    indicates the access driver of the external table. The access driver is the API that interprets the external data for the database. Oracle Database provides two access drivers: ORACLE_LOADER et ORACLE_DATAPUMP. If you do not specify TYPE, then the database uses ORACLE_LOADER as the default access driver. You must specify the ORACLE_DATAPUMP access driver if you specify the COMME subquery    clause to unload data from one Oracle Database and reload it into the same or a different Oracle Database.\nDEFAULT DIRECTORY DEFAULT DIRECTORY lets you specify a default directory object corresponding to a directory on the file system where the external data sources may reside. The default directory can also be used by the access driver to store auxiliary files such as error logs.\nACCESS PARAMETERS The optional ACCESS PARAMETERS clause lets you assign values to the parameters of the specific access driver for this external table.</p>"},{"id":"text-131","type":"text","heading":"","plain_text":"le opaque_format_spec    lets you list the parameters and their values. Please refer to Oracle Database Utilities for information on how to specify values for the opaque_format_spec.\nField names specified in the opaque_format_spec    must match columns in the table definition. Oracle Database ignores any field in the opaque_format_spec    that is not matched by a column in the table definition.","html":"<p>le opaque_format_spec    lets you list the parameters and their values. Please refer to Oracle Database Utilities for information on how to specify values for the opaque_format_spec.\nField names specified in the opaque_format_spec    must match columns in the table definition. Oracle Database ignores any field in the opaque_format_spec    that is not matched by a column in the table definition.</p>"},{"id":"text-132","type":"text","heading":"","plain_text":"USING CLOB subquery    lets you derive the parameters and their values through a subquery. The subquery cannot contain any set operators or an ORDER PAR clause. It must return one row containing a single item of datatype CLOB.","html":"<p>USING CLOB subquery    lets you derive the parameters and their values through a subquery. The subquery cannot contain any set operators or an ORDER PAR clause. It must return one row containing a single item of datatype CLOB.</p>"},{"id":"text-133","type":"text","heading":"","plain_text":"Whether you specify the parameters in an opaque_format_spec    or derive them using a subquery, the database does not interpret anything in this clause. It is up to the access driver to interpret this information in the context of the external data.\nEMPLACEMENT le EMPLACEMENT clause lets you specify one or more external data sources. Usually the location_specifier    is a file, but it need not be. Oracle Database does not interpret this clause. It is up to the access driver to interpret this information in the context of the external data. You cannot use wildcards in the location_specifier    to specify multiple files.\nREJECT LIMIT le REJECT LIMIT clause lets you specify how many conversion errors can occur during a query of the external data before an Oracle Database error is returned and the query is aborted. The default value is 0.\nCLUSTER Clause \nle CLUSTER clause indicates that the table is to be part of cluster. The columns listed in this clause are the table columns that correspond to the cluster columns. Generally, the cluster columns of a table are the column or columns that make up its primary key or a portion of its primary key. Please refer to CREATE CLUSTER for more information.\nSpecify one column from the table for each column in the cluster key. The columns are matched by position, not by name.\nA cluster table uses the space allocation of the cluster. Therefore, do not use the PCTFREE, PCTUSED, ou INITRANS parameters, the TABLESPACE clause, or the storage_clause    avec le CLUSTER clause.\nRestrictions on Cluster Tables Cluster tables are subject to the following restrictions:","html":"<p>Whether you specify the parameters in an opaque_format_spec    or derive them using a subquery, the database does not interpret anything in this clause. It is up to the access driver to interpret this information in the context of the external data.\nEMPLACEMENT le EMPLACEMENT clause lets you specify one or more external data sources. Usually the location_specifier    is a file, but it need not be. Oracle Database does not interpret this clause. It is up to the access driver to interpret this information in the context of the external data. You cannot use wildcards in the location_specifier    to specify multiple files.\nREJECT LIMIT le REJECT LIMIT clause lets you specify how many conversion errors can occur during a query of the external data before an Oracle Database error is returned and the query is aborted. The default value is 0.\nCLUSTER Clause \nle CLUSTER clause indicates that the table is to be part of cluster. The columns listed in this clause are the table columns that correspond to the cluster columns. Generally, the cluster columns of a table are the column or columns that make up its primary key or a portion of its primary key. Please refer to CREATE CLUSTER for more information.\nSpecify one column from the table for each column in the cluster key. The columns are matched by position, not by name.\nA cluster table uses the space allocation of the cluster. Therefore, do not use the PCTFREE, PCTUSED, ou INITRANS parameters, the TABLESPACE clause, or the storage_clause    avec le CLUSTER clause.\nRestrictions on Cluster Tables Cluster tables are subject to the following restrictions:</p>"},{"id":"text-134","type":"text","heading":"","plain_text":"Object tables and tables containing LOB columns cannot be part of a cluster.","html":"<p>Object tables and tables containing LOB columns cannot be part of a cluster.</p>"},{"id":"text-135","type":"text","heading":"","plain_text":"You cannot specify CLUSTER with either ROWDEPENDENCIES ou NOROWDEPENDENCIES unless the cluster has been created with the same ROWDEPENDENCIES ou NOROWDEPENDENCIES réglage.","html":"<p>You cannot specify CLUSTER with either ROWDEPENDENCIES ou NOROWDEPENDENCIES unless the cluster has been created with the same ROWDEPENDENCIES ou NOROWDEPENDENCIES réglage.</p>"},{"id":"text-136","type":"text","heading":"","plain_text":"table_properties\nle table_properties    further define the characteristics of the table.\ncolumn_properties \nUtilisez le column_properties    clauses to specify the storage attributes of a column.\nobject_type_col_properties\nle object_type_col_properties    determine storage characteristics of an object column or attribute or of an element of a collection column or attribute.\ncolonne Pour colonne, specify an object column or attribute.\nsubstitutable_column_clause le substitutable_column_clause    indicates whether object columns or attributes in the same hierarchy are substitutable for each other. You can specify that a column is of a particular type, or whether it can contain instances of its subtypes, or both.","html":"<p>table_properties\nle table_properties    further define the characteristics of the table.\ncolumn_properties \nUtilisez le column_properties    clauses to specify the storage attributes of a column.\nobject_type_col_properties\nle object_type_col_properties    determine storage characteristics of an object column or attribute or of an element of a collection column or attribute.\ncolonne Pour colonne, specify an object column or attribute.\nsubstitutable_column_clause le substitutable_column_clause    indicates whether object columns or attributes in the same hierarchy are substitutable for each other. You can specify that a column is of a particular type, or whether it can contain instances of its subtypes, or both.</p>"},{"id":"text-137","type":"text","heading":"","plain_text":"If you specify ÉLÉMENT, you constrain the element type of a collection column or attribute to a subtype of its declared type.","html":"<p>If you specify ÉLÉMENT, you constrain the element type of a collection column or attribute to a subtype of its declared type.</p>"},{"id":"text-138","type":"text","heading":"","plain_text":"le IS OF [TYPE] (ONLY type) clause constrains the type of the object column to a subtype of its declared type.","html":"<p>le IS OF [TYPE] (ONLY type) clause constrains the type of the object column to a subtype of its declared type.</p>"},{"id":"text-139","type":"text","heading":"","plain_text":"NE PAS SUBSTITUTABLE À TOUT LEVELS indicates that the object column cannot hold instances corresponding to any of its subtypes. Also, substitution is disabled for any embedded object attributes and elements of embedded nested tables and varrays. The default is SUBSTITUTABLE À TOUT LEVELS.","html":"<p>NE PAS SUBSTITUTABLE À TOUT LEVELS indicates that the object column cannot hold instances corresponding to any of its subtypes. Also, substitution is disabled for any embedded object attributes and elements of embedded nested tables and varrays. The default is SUBSTITUTABLE À TOUT LEVELS.</p>"},{"id":"text-140","type":"text","heading":"","plain_text":"Restrictions on the substitutable_column_clause This clause is subject to the following restrictions:","html":"<p>Restrictions on the substitutable_column_clause This clause is subject to the following restrictions:</p>"},{"id":"text-141","type":"text","heading":"","plain_text":"You cannot specify this clause for an attribute of an object column. However, you can specify this clause for a object type column of a relational table and for an object column of an object table if the substitutability of the object table itself has not been set.","html":"<p>You cannot specify this clause for an attribute of an object column. However, you can specify this clause for a object type column of a relational table and for an object column of an object table if the substitutability of the object table itself has not been set.</p>"},{"id":"text-142","type":"text","heading":"","plain_text":"For a collection type column, the only part of this clause you can specify is [NOT] SUBSTITUTABLE À TOUT LEVELS.","html":"<p>For a collection type column, the only part of this clause you can specify is [NOT] SUBSTITUTABLE À TOUT LEVELS.</p>"},{"id":"text-143","type":"text","heading":"","plain_text":"LOB_storage_clause\nle LOB_storage_clause    lets you specify the storage attributes of LOB data segments.\nFor a nonpartitioned table, this clause specifies the storage attributes of LOB data segments of the table.\nFor a partitioned table, Oracle Database implements this clause depending on where it is specified:","html":"<p>LOB_storage_clause\nle LOB_storage_clause    lets you specify the storage attributes of LOB data segments.\nFor a nonpartitioned table, this clause specifies the storage attributes of LOB data segments of the table.\nFor a partitioned table, Oracle Database implements this clause depending on where it is specified:</p>"},{"id":"text-144","type":"text","heading":"","plain_text":"For a partitioned table specified at the table level&#8211;that is, when specified in the physical_properties    clause along with one of the partitioning clauses&#8211;this clause specifies the default storage attributes for LOB data segments associated with each partition or subpartition. These storage attributes apply to all partitions or subpartitions unless overridden by a LOB_storage_clause    at the partition or subpartition level.","html":"<p>For a partitioned table specified at the table level&#8211;that is, when specified in the physical_properties    clause along with one of the partitioning clauses&#8211;this clause specifies the default storage attributes for LOB data segments associated with each partition or subpartition. These storage attributes apply to all partitions or subpartitions unless overridden by a LOB_storage_clause    at the partition or subpartition level.</p>"},{"id":"text-145","type":"text","heading":"","plain_text":"For an individual partition of a partitioned table&#8211;that is, when specified as part of a table_partition_description&#8211;this clause specifies the storage attributes of the data segments of the partition or the default storage attributes of any subpartitions of the partition. A partition-level LOB_storage_clause    overrides a table-level LOB_storage_clause.","html":"<p>For an individual partition of a partitioned table&#8211;that is, when specified as part of a table_partition_description&#8211;this clause specifies the storage attributes of the data segments of the partition or the default storage attributes of any subpartitions of the partition. A partition-level LOB_storage_clause    overrides a table-level LOB_storage_clause.</p>"},{"id":"text-146","type":"text","heading":"","plain_text":"For an individual subpartition of a partitioned table&#8211;that is, when specified as part of subpartition_by_hash    ou subpartition_by_list&#8211;this clause specifies the storage attributes of the data segments of the subpartition. A subpartition-level LOB_storage_clause    overrides both partition-level and table-level LOB_storage_clauses.","html":"<p>For an individual subpartition of a partitioned table&#8211;that is, when specified as part of subpartition_by_hash    ou subpartition_by_list&#8211;this clause specifies the storage attributes of the data segments of the subpartition. A subpartition-level LOB_storage_clause    overrides both partition-level and table-level LOB_storage_clauses.</p>"},{"id":"text-147","type":"text","heading":"","plain_text":"LOB_item\nSpecify the LOB column name or LOB object attribute for which you are explicitly defining tablespace and storage characteristics that are different from those of the table. Oracle Database automatically creates a system-managed index for each LOB_item    you create.\nLOB_segname\nSpecify the name of the LOB data segment. You cannot use LOB_segname    if you specify more than one LOB_item.\nLOB_parameters \nle LOB_parameters    clause lets you specify various elements of LOB storage.\nENABLE STORAGE IN ROW  If you enable storage in row, then the LOB value is stored in the row (inline) if its length is less than approximately 4000 bytes minus system control information. This is the default.\nRestriction on Enabling Storage in Row For an index-organized table, you cannot specify this parameter unless you have specified an OVERFLOW segment in the index_org_table_clause.\nDISABLE STORAGE IN ROW  If you disable storage in row, then the LOB value is stored outside of the row out of line regardless of the length of the LOB value.\nThe LOB locator is always stored inline regardless of where the LOB value is stored. You cannot change the value of ESPACE DE RANGEMENT DANS ROW once it is set except by moving the table. See the move_table_clause    dans le MODIFIER TABLE documentation for more information.\nCHUNK entier  Specify the number of bytes to be allocated for LOB manipulation. Si entier    is not a multiple of the database block size, then the database rounds up in bytes to the next multiple. For example, if the database block size is 2048 and entier    is 2050, then the database allocates 4096 bytes (2 blocks). The maximum value is 32768 (32K), which is the largest Oracle Database block size allowed. The default CHUNK size is one Oracle Database block.\nThe value of CHUNK must be less than or equal to the value of NEXT, either the default value or that specified in the storage_clause. Si CHUNK exceeds the value of NEXT, then the database returns an error.You cannot change the value of CHUNK once it is set.\nPCTVERSION entier  Specify the maximum percentage of overall LOB storage space used for maintaining old versions of the LOB. The default value is 10, meaning that older versions of the LOB data are not overwritten until they consume 10% of the overall LOB storage space.\nYou can specify the PCTVERSION parameter whether the database is running in manual or automatic undo mode. PCTVERSION is the default in manual undo mode. RETENTION is the default in automatic undo mode. You cannot specify both PCTVERSION et RETENTION.\nRETENTION  Use this clause to indicate that Oracle Database should retain old versions of this LOB column. Oracle Database uses the value of the UNDO_RETENTION initialization parameter to determine the amount of committed undo data to retain in the database.\nYou can specify the RETENTION parameter only if the database is running in automatic undo mode. In this mode, RETENTION is the default value unless you specify PCTVERSION. You cannot specify both PCTVERSION et RETENTION.\nFREEPOOLS entier  Specify the number of groups of free lists for the LOB segment. Normalement entier    will be the number of instances in a Real Application Clusters environment or 1 for a single-instance database.\nYou can specify this parameter only if the database is running in automatic undo mode. In this mode, FREEPOOLS is the default unless you specify the FREELIST GROUPS parameter of the storage_clause. If you specify neither FREEPOOLS nor FREELIST GROUPS, then the database uses a default of FREEPOOLS 1 if the database is in automatic undo management mode and a default of FREELIST GROUPS 1 if the database is in manual undo management mode.\nRestriction on FREEPOOLS You cannot specify both FREEPOOLS et le FREELIST GROUPS parameter of the storage_clause.\nvarray_col_properties \nle varray_col_properties    let you specify separate storage characteristics for the LOB in which a varray will be stored. Si varray_item    is a multilevel collection, then the database stores all collection items nested within varray_item    in the same LOB in which varray_item    is stored.","html":"<p>LOB_item\nSpecify the LOB column name or LOB object attribute for which you are explicitly defining tablespace and storage characteristics that are different from those of the table. Oracle Database automatically creates a system-managed index for each LOB_item    you create.\nLOB_segname\nSpecify the name of the LOB data segment. You cannot use LOB_segname    if you specify more than one LOB_item.\nLOB_parameters \nle LOB_parameters    clause lets you specify various elements of LOB storage.\nENABLE STORAGE IN ROW  If you enable storage in row, then the LOB value is stored in the row (inline) if its length is less than approximately 4000 bytes minus system control information. This is the default.\nRestriction on Enabling Storage in Row For an index-organized table, you cannot specify this parameter unless you have specified an OVERFLOW segment in the index_org_table_clause.\nDISABLE STORAGE IN ROW  If you disable storage in row, then the LOB value is stored outside of the row out of line regardless of the length of the LOB value.\nThe LOB locator is always stored inline regardless of where the LOB value is stored. You cannot change the value of ESPACE DE RANGEMENT DANS ROW once it is set except by moving the table. See the move_table_clause    dans le MODIFIER TABLE documentation for more information.\nCHUNK entier  Specify the number of bytes to be allocated for LOB manipulation. Si entier    is not a multiple of the database block size, then the database rounds up in bytes to the next multiple. For example, if the database block size is 2048 and entier    is 2050, then the database allocates 4096 bytes (2 blocks). The maximum value is 32768 (32K), which is the largest Oracle Database block size allowed. The default CHUNK size is one Oracle Database block.\nThe value of CHUNK must be less than or equal to the value of NEXT, either the default value or that specified in the storage_clause. Si CHUNK exceeds the value of NEXT, then the database returns an error.You cannot change the value of CHUNK once it is set.\nPCTVERSION entier  Specify the maximum percentage of overall LOB storage space used for maintaining old versions of the LOB. The default value is 10, meaning that older versions of the LOB data are not overwritten until they consume 10% of the overall LOB storage space.\nYou can specify the PCTVERSION parameter whether the database is running in manual or automatic undo mode. PCTVERSION is the default in manual undo mode. RETENTION is the default in automatic undo mode. You cannot specify both PCTVERSION et RETENTION.\nRETENTION  Use this clause to indicate that Oracle Database should retain old versions of this LOB column. Oracle Database uses the value of the UNDO_RETENTION initialization parameter to determine the amount of committed undo data to retain in the database.\nYou can specify the RETENTION parameter only if the database is running in automatic undo mode. In this mode, RETENTION is the default value unless you specify PCTVERSION. You cannot specify both PCTVERSION et RETENTION.\nFREEPOOLS entier  Specify the number of groups of free lists for the LOB segment. Normalement entier    will be the number of instances in a Real Application Clusters environment or 1 for a single-instance database.\nYou can specify this parameter only if the database is running in automatic undo mode. In this mode, FREEPOOLS is the default unless you specify the FREELIST GROUPS parameter of the storage_clause. If you specify neither FREEPOOLS nor FREELIST GROUPS, then the database uses a default of FREEPOOLS 1 if the database is in automatic undo management mode and a default of FREELIST GROUPS 1 if the database is in manual undo management mode.\nRestriction on FREEPOOLS You cannot specify both FREEPOOLS et le FREELIST GROUPS parameter of the storage_clause.\nvarray_col_properties \nle varray_col_properties    let you specify separate storage characteristics for the LOB in which a varray will be stored. Si varray_item    is a multilevel collection, then the database stores all collection items nested within varray_item    in the same LOB in which varray_item    is stored.</p>"},{"id":"text-148","type":"text","heading":"","plain_text":"For a nonpartitioned table&#8211;that is, when specified in the physical_properties    clause without any of the partitioning clauses&#8211;this clause specifies the storage attributes of the LOB data segments of the varray.","html":"<p>For a nonpartitioned table&#8211;that is, when specified in the physical_properties    clause without any of the partitioning clauses&#8211;this clause specifies the storage attributes of the LOB data segments of the varray.</p>"},{"id":"text-149","type":"text","heading":"","plain_text":"For a partitioned table specified at the table level&#8211;that is, when specified in the physical_properties    clause along with one of the partitioning clauses&#8211;this clause specifies the default storage attributes for the varray LOB data segments associated with each partition (or its subpartitions, if any).","html":"<p>For a partitioned table specified at the table level&#8211;that is, when specified in the physical_properties    clause along with one of the partitioning clauses&#8211;this clause specifies the default storage attributes for the varray LOB data segments associated with each partition (or its subpartitions, if any).</p>"},{"id":"text-150","type":"text","heading":"","plain_text":"For an individual partition of a partitioned table&#8211;that is, when specified as part of a table_partition_description&#8211;this clause specifies the storage attributes of the varray LOB data segments of that partition or the default storage attributes of the varray LOB data segments of any subpartitions of this partition. A partition-level varray_col_properties    overrides a table-level varray_col_properties.","html":"<p>For an individual partition of a partitioned table&#8211;that is, when specified as part of a table_partition_description&#8211;this clause specifies the storage attributes of the varray LOB data segments of that partition or the default storage attributes of the varray LOB data segments of any subpartitions of this partition. A partition-level varray_col_properties    overrides a table-level varray_col_properties.</p>"},{"id":"text-151","type":"text","heading":"","plain_text":"For an individual subpartition of a partitioned table&#8211;that is, when specified as part of subpartition_by_hash    ou subpartition_by_list&#8211;this clause specifies the storage attributes of the varray data segments of this subpartition. A subpartition-level varray_col_properties    overrides both partition-level and table-level varray_col_properties.","html":"<p>For an individual subpartition of a partitioned table&#8211;that is, when specified as part of subpartition_by_hash    ou subpartition_by_list&#8211;this clause specifies the storage attributes of the varray data segments of this subpartition. A subpartition-level varray_col_properties    overrides both partition-level and table-level varray_col_properties.</p>"},{"id":"text-152","type":"text","heading":"","plain_text":"STORE AS LOB Clause If you specify STORE COMME LOB:","html":"<p>STORE AS LOB Clause If you specify STORE COMME LOB:</p>"},{"id":"text-153","type":"text","heading":"","plain_text":"If the maximum varray size is less than 4000 bytes, then the database stores the varray as an inline LOB unless you have disabled storage in row.","html":"<p>If the maximum varray size is less than 4000 bytes, then the database stores the varray as an inline LOB unless you have disabled storage in row.</p>"},{"id":"text-154","type":"text","heading":"","plain_text":"If the maximum varray size is greater than 4000 bytes or if you have disabled storage in row, then the database stores in the varray as an out-of-line LOB.","html":"<p>If the maximum varray size is greater than 4000 bytes or if you have disabled storage in row, then the database stores in the varray as an out-of-line LOB.</p>"},{"id":"text-155","type":"text","heading":"","plain_text":"If you do not specify STORE COMME LOB, then storage is based on the maximum possible size of the varray rather than on the actual size of a varray column. The maximum size of the varray is the number of elements times the element size, plus a small amount for system control information. If you omit this clause:","html":"<p>If you do not specify STORE COMME LOB, then storage is based on the maximum possible size of the varray rather than on the actual size of a varray column. The maximum size of the varray is the number of elements times the element size, plus a small amount for system control information. If you omit this clause:</p>"},{"id":"text-156","type":"text","heading":"","plain_text":"If the maximum size of the varray is less than 4000 bytes, then the database does not store the varray as a LOB, but as inline data.","html":"<p>If the maximum size of the varray is less than 4000 bytes, then the database does not store the varray as a LOB, but as inline data.</p>"},{"id":"text-157","type":"text","heading":"","plain_text":"If the maximum size is greater than 4000 bytes, then the database always stores the varray as a LOB.","html":"<p>If the maximum size is greater than 4000 bytes, then the database always stores the varray as a LOB.</p>"},{"id":"text-158","type":"text","heading":"","plain_text":"If the actual size is less than 4000 bytes, it is stored as an inline LOB","html":"<p>If the actual size is less than 4000 bytes, it is stored as an inline LOB</p>"},{"id":"text-159","type":"text","heading":"","plain_text":"If the actual size is greater than 4000 bytes, it is stored as an out-of-line LOB, as is true for other LOB columns.","html":"<p>If the actual size is greater than 4000 bytes, it is stored as an out-of-line LOB, as is true for other LOB columns.</p>"},{"id":"text-160","type":"text","heading":"","plain_text":"Restriction on Storing Varrays as LOBs You cannot specify the TABLESPACE parameter of LOB_parameters    as part of this clause. The LOB tablespace for a varray defaults to the tablespace of the containing table or table partition.\nsubstitutable_column_clause le substitutable_column_clause    has the same behavior as described for object_type_col_properties.\nnested_table_col_properties \nle nested_table_col_properties    let you specify separate storage characteristics for a nested table, which in turn enables you to define the nested table as an index-organized table. Unless you explicitly specify otherwise in this clause:","html":"<p>Restriction on Storing Varrays as LOBs You cannot specify the TABLESPACE parameter of LOB_parameters    as part of this clause. The LOB tablespace for a varray defaults to the tablespace of the containing table or table partition.\nsubstitutable_column_clause le substitutable_column_clause    has the same behavior as described for object_type_col_properties.\nnested_table_col_properties \nle nested_table_col_properties    let you specify separate storage characteristics for a nested table, which in turn enables you to define the nested table as an index-organized table. Unless you explicitly specify otherwise in this clause:</p>"},{"id":"text-161","type":"text","heading":"","plain_text":"For a nonpartitioned table, the storage table is created in the same schema and the same tablespace as the parent table.","html":"<p>For a nonpartitioned table, the storage table is created in the same schema and the same tablespace as the parent table.</p>"},{"id":"text-162","type":"text","heading":"","plain_text":"For a partitioned table, the storage table is created in the default tablespace of the schema.","html":"<p>For a partitioned table, the storage table is created in the default tablespace of the schema.</p>"},{"id":"text-163","type":"text","heading":"","plain_text":"In either case, the storage table uses default storage characteristics, and stores the nested table values of the column for which it was created.","html":"<p>In either case, the storage table uses default storage characteristics, and stores the nested table values of the column for which it was created.</p>"},{"id":"text-164","type":"text","heading":"","plain_text":"You must include this clause when creating a table with columns or column attributes whose type is a nested table. Clauses within nested_table_col_properties    that function the same way they function for the parent table are not repeated here.\nnested_item Specify the name of a column, or of a top-level attribute of the object type of the tables, whose type is a nested table.\nCOLUMN_VALUE If the nested table is a multilevel collection, then the inner nested table or varray may not have a name. In this case, specify COLUMN_VALUE in place of the nested_item    name.\nstorage_table Specify the name of the table where the rows of nested_item    reside.\nYou cannot query or perform DML statements on storage_table    directly, but you can modify its storage characteristics by specifying its name in an MODIFIER TABLE déclaration.\nRestriction on the Storage Table You cannot partition the storage table of a nested table.","html":"<p>You must include this clause when creating a table with columns or column attributes whose type is a nested table. Clauses within nested_table_col_properties    that function the same way they function for the parent table are not repeated here.\nnested_item Specify the name of a column, or of a top-level attribute of the object type of the tables, whose type is a nested table.\nCOLUMN_VALUE If the nested table is a multilevel collection, then the inner nested table or varray may not have a name. In this case, specify COLUMN_VALUE in place of the nested_item    name.\nstorage_table Specify the name of the table where the rows of nested_item    reside.\nYou cannot query or perform DML statements on storage_table    directly, but you can modify its storage characteristics by specifying its name in an MODIFIER TABLE déclaration.\nRestriction on the Storage Table You cannot partition the storage table of a nested table.</p>"},{"id":"text-165","type":"text","heading":"","plain_text":"Voir également:\nALTER TABLE for information about modifying nested table column storage characteristics\nRETURN AS Specify what Oracle Database returns as the result of a query.","html":"<p>Voir également:\nALTER TABLE for information about modifying nested table column storage characteristics\nRETURN AS Specify what Oracle Database returns as the result of a query.</p>"},{"id":"text-166","type":"text","heading":"","plain_text":"VALUE returns a copy of the nested table itself.","html":"<p>VALUE returns a copy of the nested table itself.</p>"},{"id":"text-167","type":"text","heading":"","plain_text":"LOCATOR returns a collection locator to the copy of the nested table.\nThe locator is scoped to the session and cannot be used across sessions. Unlike a LOB locator, the collection locator cannot be used to modify the collection instance.","html":"<p>LOCATOR returns a collection locator to the copy of the nested table.\nThe locator is scoped to the session and cannot be used across sessions. Unlike a LOB locator, the collection locator cannot be used to modify the collection instance.</p>"},{"id":"text-168","type":"text","heading":"","plain_text":"If you do not specify the segment_attributes_clause    ou la LOB_storage_clause, then the nested table is heap organized and is created with default storage characteristics.\nRestrictions on Nested Table Column Properties Nested table column properties are subject to the following restrictions:","html":"<p>If you do not specify the segment_attributes_clause    ou la LOB_storage_clause, then the nested table is heap organized and is created with default storage characteristics.\nRestrictions on Nested Table Column Properties Nested table column properties are subject to the following restrictions:</p>"},{"id":"text-169","type":"text","heading":"","plain_text":"You cannot specify this clause for a temporary table.","html":"<p>You cannot specify this clause for a temporary table.</p>"},{"id":"text-170","type":"text","heading":"","plain_text":"You cannot specify the oid_clause.","html":"<p>You cannot specify the oid_clause.</p>"},{"id":"text-171","type":"text","heading":"","plain_text":"At create time, you cannot use object_properties    to specify an out_of_line_ref_constraint, inline_ref_constraint, or foreign key constraint for the attributes of a nested table. However, you can modify a nested table to add such constraints using MODIFIER TABLE.","html":"<p>At create time, you cannot use object_properties    to specify an out_of_line_ref_constraint, inline_ref_constraint, or foreign key constraint for the attributes of a nested table. However, you can modify a nested table to add such constraints using MODIFIER TABLE.</p>"},{"id":"text-172","type":"text","heading":"","plain_text":"XMLType_column_properties \nle XMLType_column_properties    let you specify storage attributes for an XMLTYPE column.\nXMLType_storage XMLType columns can be stored either in LOB or object-relational columns.","html":"<p>XMLType_column_properties \nle XMLType_column_properties    let you specify storage attributes for an XMLTYPE column.\nXMLType_storage XMLType columns can be stored either in LOB or object-relational columns.</p>"},{"id":"text-173","type":"text","heading":"","plain_text":"Specify STORE COMME OBJECT RELATIONAL if you want the database to store the XMLType data in object-relational columns. Storing data objects relationally lets you define indexes on the relational columns and enhances query performance.\nIf you specify object-relational storage, then you must also specify the XMLSchema_spec    clause.","html":"<p>Specify STORE COMME OBJECT RELATIONAL if you want the database to store the XMLType data in object-relational columns. Storing data objects relationally lets you define indexes on the relational columns and enhances query performance.\nIf you specify object-relational storage, then you must also specify the XMLSchema_spec    clause.</p>"},{"id":"text-174","type":"text","heading":"","plain_text":"Specify STORE COMME CLOB if you want the database to store the XMLType data in a CLOB column. Storing data in a CLOB column preserves the original content and enhances retrieval time.\nIf you specify LOB storage, then you can specify either LOB parameters or the XMLSchema_spec    clause, but not both. Specify the XMLSchema_spec    clause if you want to restrict the table or column to particular schema-based XML instances.","html":"<p>Specify STORE COMME CLOB if you want the database to store the XMLType data in a CLOB column. Storing data in a CLOB column preserves the original content and enhances retrieval time.\nIf you specify LOB storage, then you can specify either LOB parameters or the XMLSchema_spec    clause, but not both. Specify the XMLSchema_spec    clause if you want to restrict the table or column to particular schema-based XML instances.</p>"},{"id":"text-175","type":"text","heading":"","plain_text":"XMLSchema_spec This clause lets you specify the URL of a registered XMLSchema, either in the XMLSCHEMA clause or as part of the ÉLÉMENT clause, and an XML element name. You must specify an element, although the XMLSchema URL is optional. If you do specify an XMLSchema URL, then you must already have registered the XMLSchema using the DBMS_XMLSCHEMA package.\ntable_partitioning_clauses \nUtilisez le table_partitioning_clauses    to create a partitioned table.\nRestrictions on Partitioning in General All partitioning is subject to the following restrictions:\nThe storage of partitioned database entities in tablespaces of different block sizes is subject to several restrictions. Please refer to Oracle Database Administrator&#39;s Guide for a discussion of these restrictions.\nrange_partitioning\nUtilisez le range_partitioning    clause to partition the table on ranges of values from the column list. For an index-organized table, the column list must be a subset of the primary key columns of the table.\ncolonne\nSpecify an ordered list of columns used to determine into which partition a row belongs. These columns are the partitioning key.\nRestriction on Partitioning Key Columns The columns in the column list can be of any built-in datatype except ROWID, LONG, LOB, ou TIMESTAMP AVEC TEMPS ZONE. However, columns of TIMESTAMP ou TIMESTAMP AVEC LOCAL TEMPS ZONE can be used in the partitioning key.\nPARTITION cloison \nThe name cloison    must conform to the rules for naming schema objects and their part as described in &quot;Schema Object Naming Rules&quot;. If you omit cloison, then the database generates a name with the form SYS_Pn.","html":"<p>XMLSchema_spec This clause lets you specify the URL of a registered XMLSchema, either in the XMLSCHEMA clause or as part of the ÉLÉMENT clause, and an XML element name. You must specify an element, although the XMLSchema URL is optional. If you do specify an XMLSchema URL, then you must already have registered the XMLSchema using the DBMS_XMLSCHEMA package.\ntable_partitioning_clauses \nUtilisez le table_partitioning_clauses    to create a partitioned table.\nRestrictions on Partitioning in General All partitioning is subject to the following restrictions:\nThe storage of partitioned database entities in tablespaces of different block sizes is subject to several restrictions. Please refer to Oracle Database Administrator&#039;s Guide for a discussion of these restrictions.\nrange_partitioning\nUtilisez le range_partitioning    clause to partition the table on ranges of values from the column list. For an index-organized table, the column list must be a subset of the primary key columns of the table.\ncolonne\nSpecify an ordered list of columns used to determine into which partition a row belongs. These columns are the partitioning key.\nRestriction on Partitioning Key Columns The columns in the column list can be of any built-in datatype except ROWID, LONG, LOB, ou TIMESTAMP AVEC TEMPS ZONE. However, columns of TIMESTAMP ou TIMESTAMP AVEC LOCAL TEMPS ZONE can be used in the partitioning key.\nPARTITION cloison \nThe name cloison    must conform to the rules for naming schema objects and their part as described in &quot;Schema Object Naming Rules&quot;. If you omit cloison, then the database generates a name with the form SYS_Pn.</p>"},{"id":"text-176","type":"text","heading":"","plain_text":"You can specify up to a total of 1024K-1 partitions and subpartitions. For a discussion of factors that might impose practical limits less than this number, please refer to Oracle Database Administrator&#39;s Guide.","html":"<p>You can specify up to a total of 1024K-1 partitions and subpartitions. For a discussion of factors that might impose practical limits less than this number, please refer to Oracle Database Administrator&#039;s Guide.</p>"},{"id":"text-177","type":"text","heading":"","plain_text":"You can create a partitioned table with just one partition. However, this is different from a nonpartitioned table. For instance, you cannot add a partition to a nonpartitioned table.","html":"<p>You can create a partitioned table with just one partition. However, this is different from a nonpartitioned table. For instance, you cannot add a partition to a nonpartitioned table.</p>"},{"id":"text-178","type":"text","heading":"","plain_text":"range_values_clause \nSpecify the noninclusive upper bound for the current partition. The value list is an ordered list of literal values corresponding to the column list in the range_partitioning    clause. You can substitute the keyword MAXVALUE for any literal in in the value list. MAXVALUE specifies a maximum value that will always sort higher than any other value, including null.\nSpecifying a value other than MAXVALUE for the highest partition bound imposes an implicit integrity constraint on the table.","html":"<p>range_values_clause \nSpecify the noninclusive upper bound for the current partition. The value list is an ordered list of literal values corresponding to the column list in the range_partitioning    clause. You can substitute the keyword MAXVALUE for any literal in in the value list. MAXVALUE specifies a maximum value that will always sort higher than any other value, including null.\nSpecifying a value other than MAXVALUE for the highest partition bound imposes an implicit integrity constraint on the table.</p>"},{"id":"text-179","type":"text","heading":"","plain_text":"Remarque:\nSi table    is partitioned on a DATE column, and if the date format does not specify the first two digits of the year, then you must use the TO_DATE function with the YYYY 4-character format mask for the year. le RRRR format mask is not supported in this clause. The date format is determined implicitly by NLS_TERRITORY or explicitly by NLS_DATE_FORMAT. Please refer to Oracle Database Globalization Support Guide for more information on these initialization parameters.\ntable_partition_description\nUtilisez le table_partition_description    to define the physical and storage characteristics of the table.\nle segment_attributes_clause    et table_compression    clause have the same function as described for the table_properties    of the table as a whole.\nle key_compression    clause and OVERFLOW clause have the same function as described for the index_org_table_clause .\nLOB_storage_clause le LOB_storage_clause    lets you specify LOB storage characteristics for one or more LOB items in this partition or in any list subpartitions of this partition. If you do not specify the LOB_storage_clause    for a LOB item, then the database generates a name for each LOB data partition. The system-generated names for LOB data and LOB index partitions take the form SYS_LOB_Pn    et SYS_IL_Pn, respectivement. The corresponding system-generated names for LOB data and index subpartitions are SYS_LOB_SUBPn    et SYS_IL_SUBPn, respectively\nvarray_col_properties le varray_col_properties    let you specify storage characteristics for one or more varray items in this partition or in any list subpartitions of this partition.\nRestriction on table_partition_description le partition_level_subpartition    clause is valid only for composite-partitioned tables. See partition_level_subpartition.\nhash_partitioning \nUtilisez le hash_partitioning    clause to specify that the table is to be partitioned using the hash method.\nOracle Database assigns rows to partitions using a hash function on values found in columns designated as the partitioning key. You can specify individual hash partitions or you can specify how many subpartitions the database should create.\ncolonne Specify an ordered list of columns used to determine into which partition a row belongs (the partitioning key).\nindividual_hash_partitions   Use this clause to specify individual partitions by name. If you omit the partition name, then the database assigns partition names of the form SYS_Pn.\nRestriction on Specifying Individual Hash Partitions The only clause you can specify in the partitioning_storage_clause    est le TABLESPACE clause.","html":"<p>Remarque:\nSi table    is partitioned on a DATE column, and if the date format does not specify the first two digits of the year, then you must use the TO_DATE function with the YYYY 4-character format mask for the year. le RRRR format mask is not supported in this clause. The date format is determined implicitly by NLS_TERRITORY or explicitly by NLS_DATE_FORMAT. Please refer to Oracle Database Globalization Support Guide for more information on these initialization parameters.\ntable_partition_description\nUtilisez le table_partition_description    to define the physical and storage characteristics of the table.\nle segment_attributes_clause    et table_compression    clause have the same function as described for the table_properties    of the table as a whole.\nle key_compression    clause and OVERFLOW clause have the same function as described for the index_org_table_clause .\nLOB_storage_clause le LOB_storage_clause    lets you specify LOB storage characteristics for one or more LOB items in this partition or in any list subpartitions of this partition. If you do not specify the LOB_storage_clause    for a LOB item, then the database generates a name for each LOB data partition. The system-generated names for LOB data and LOB index partitions take the form SYS_LOB_Pn    et SYS_IL_Pn, respectivement. The corresponding system-generated names for LOB data and index subpartitions are SYS_LOB_SUBPn    et SYS_IL_SUBPn, respectively\nvarray_col_properties le varray_col_properties    let you specify storage characteristics for one or more varray items in this partition or in any list subpartitions of this partition.\nRestriction on table_partition_description le partition_level_subpartition    clause is valid only for composite-partitioned tables. See partition_level_subpartition.\nhash_partitioning \nUtilisez le hash_partitioning    clause to specify that the table is to be partitioned using the hash method.\nOracle Database assigns rows to partitions using a hash function on values found in columns designated as the partitioning key. You can specify individual hash partitions or you can specify how many subpartitions the database should create.\ncolonne Specify an ordered list of columns used to determine into which partition a row belongs (the partitioning key).\nindividual_hash_partitions   Use this clause to specify individual partitions by name. If you omit the partition name, then the database assigns partition names of the form SYS_Pn.\nRestriction on Specifying Individual Hash Partitions The only clause you can specify in the partitioning_storage_clause    est le TABLESPACE clause.</p>"},{"id":"text-180","type":"text","heading":"","plain_text":"Remarque:\nIf your enterprise has or will have databases using different character sets, use caution when partitioning on character columns. The sort sequence of characters is not identical in all character sets. Please refer to Oracle Database Globalization Support Guide for more information on character set support.\nhash_partitions_by_quantity   Alternatively, you can specify the number of partitions. In this case, the database assigns partition names of the form SYS_Pn. le STORE DANS clause specifies one or more tablespaces where the hash partitions are to be stored. The number of tablespaces does not have to equal the number of partitions. If the number of partitions is greater than the number of tablespaces, then the database cycles through the names of the tablespaces.\nFor both methods of hash partitioning, for optimal load balancing you should specify a number of partitions that is a power of 2. Also for both methods of hash partitioning, the only attribute you can specify for hash partitions is TABLESPACE. Hash partitions inherit all other attributes from table-level defaults.\nTablespace storage specified at the table level is overridden by tablespace storage specified at the partition level, which in turn is overridden by tablespace storage specified at the subpartition level.\ndans le individual_hash_partitions    clause, the TABLESPACE clause of the partitioning_storage_clause    determines tablespace storage only for the individual partition being created. dans le hash_partitions_by_quantity    clause, the STORE DANS clause determines placement of partitions as the table is being created and the default storage location for subsequently added partitions.\nRestrictions on Hash Partitioning Hash partitioning is subject to the following restrictions:","html":"<p>Remarque:\nIf your enterprise has or will have databases using different character sets, use caution when partitioning on character columns. The sort sequence of characters is not identical in all character sets. Please refer to Oracle Database Globalization Support Guide for more information on character set support.\nhash_partitions_by_quantity   Alternatively, you can specify the number of partitions. In this case, the database assigns partition names of the form SYS_Pn. le STORE DANS clause specifies one or more tablespaces where the hash partitions are to be stored. The number of tablespaces does not have to equal the number of partitions. If the number of partitions is greater than the number of tablespaces, then the database cycles through the names of the tablespaces.\nFor both methods of hash partitioning, for optimal load balancing you should specify a number of partitions that is a power of 2. Also for both methods of hash partitioning, the only attribute you can specify for hash partitions is TABLESPACE. Hash partitions inherit all other attributes from table-level defaults.\nTablespace storage specified at the table level is overridden by tablespace storage specified at the partition level, which in turn is overridden by tablespace storage specified at the subpartition level.\ndans le individual_hash_partitions    clause, the TABLESPACE clause of the partitioning_storage_clause    determines tablespace storage only for the individual partition being created. dans le hash_partitions_by_quantity    clause, the STORE DANS clause determines placement of partitions as the table is being created and the default storage location for subsequently added partitions.\nRestrictions on Hash Partitioning Hash partitioning is subject to the following restrictions:</p>"},{"id":"text-181","type":"text","heading":"","plain_text":"You cannot specify more than 16 partitioning columns.","html":"<p>You cannot specify more than 16 partitioning columns.</p>"},{"id":"text-182","type":"text","heading":"","plain_text":"The column list cannot contain the ROWID ou UROWID pseudocolumns.","html":"<p>The column list cannot contain the ROWID ou UROWID pseudocolumns.</p>"},{"id":"text-183","type":"text","heading":"","plain_text":"The column list can be of any built-in datatype except ROWID, LONG, or LOB.","html":"<p>The column list can be of any built-in datatype except ROWID, LONG, or LOB.</p>"},{"id":"text-184","type":"text","heading":"","plain_text":"list_partitioning \nUtilisez le list_partitioning    clause to partition the table on lists of literal values from colonne. List partitioning is useful for controlling how individual rows map to specific partitions.\nIf you omit the partition name, then the database assigns partition names of the form SYS_Pn.\nlist_values_clause le list_values_clause    of each partition must have at least one value. No value, including NULL, can appear in more than one partition. List partitions are not ordered.\nIf you specify the literal NULL for a partition value in the VALUES clause, then to access data in that partition in subsequent queries, you must use an IS NULL condition in the OÙ clause, rather than a comparison condition.\nle DEFAULT keyword creates a partition into which the database will insert any row that does not map to another partition. Therefore, you can specify DEFAULT for only one partition, and you cannot specify any other values for that partition. Further, the default partition must be the last partition you define. The use of DEFAULT is similar to the use of MAXVALUE for range partitions.\nThe string comprising the list of values for each partition can be up to 4K bytes. The total number of values for all partitions cannot exceed 64K-1.\nRestrictions on List Partitioning List partitioning is subject to the following restrictions:","html":"<p>list_partitioning \nUtilisez le list_partitioning    clause to partition the table on lists of literal values from colonne. List partitioning is useful for controlling how individual rows map to specific partitions.\nIf you omit the partition name, then the database assigns partition names of the form SYS_Pn.\nlist_values_clause le list_values_clause    of each partition must have at least one value. No value, including NULL, can appear in more than one partition. List partitions are not ordered.\nIf you specify the literal NULL for a partition value in the VALUES clause, then to access data in that partition in subsequent queries, you must use an IS NULL condition in the OÙ clause, rather than a comparison condition.\nle DEFAULT keyword creates a partition into which the database will insert any row that does not map to another partition. Therefore, you can specify DEFAULT for only one partition, and you cannot specify any other values for that partition. Further, the default partition must be the last partition you define. The use of DEFAULT is similar to the use of MAXVALUE for range partitions.\nThe string comprising the list of values for each partition can be up to 4K bytes. The total number of values for all partitions cannot exceed 64K-1.\nRestrictions on List Partitioning List partitioning is subject to the following restrictions:</p>"},{"id":"text-185","type":"text","heading":"","plain_text":"You cannot subpartition a list partition.","html":"<p>You cannot subpartition a list partition.</p>"},{"id":"text-186","type":"text","heading":"","plain_text":"You can specify only one partitioning key in column_list, and it cannot be a LOB column.","html":"<p>You can specify only one partitioning key in column_list, and it cannot be a LOB column.</p>"},{"id":"text-187","type":"text","heading":"","plain_text":"If the partitioning key is an object type column, then you can partition on only one attribute of the column type.","html":"<p>If the partitioning key is an object type column, then you can partition on only one attribute of the column type.</p>"},{"id":"text-188","type":"text","heading":"","plain_text":"Each value in the list_values_clause    must be unique among all partitions of table.","html":"<p>Each value in the list_values_clause    must be unique among all partitions of table.</p>"},{"id":"text-189","type":"text","heading":"","plain_text":"composite_partitioning \nUtilisez le composite_partitioning    clause to first partition table    by range, and then partition the partitions further into hash or list subpartitions. This combination of range partitioning and hash or list subpartitioning is called composite partitioning.\nAfter establishing the type of subpartitioning you want for each composite partition, using the subpartition_by_hash    ou subpartition_by_list    clause, you must define each of the range partitions.","html":"<p>composite_partitioning \nUtilisez le composite_partitioning    clause to first partition table    by range, and then partition the partitions further into hash or list subpartitions. This combination of range partitioning and hash or list subpartitioning is called composite partitioning.\nAfter establishing the type of subpartitioning you want for each composite partition, using the subpartition_by_hash    ou subpartition_by_list    clause, you must define each of the range partitions.</p>"},{"id":"text-190","type":"text","heading":"","plain_text":"You must specify the range_values_clause    , which has the same requirements as for noncomposite range partitions.","html":"<p>You must specify the range_values_clause    , which has the same requirements as for noncomposite range partitions.</p>"},{"id":"text-191","type":"text","heading":"","plain_text":"Utilisez le table_partition_description    to define the physical and storage characteristics of the each partition. Within the table_partition_description, you can use the partition_level_subpartition    clause to define the properties of individual subpartitions.","html":"<p>Utilisez le table_partition_description    to define the physical and storage characteristics of the each partition. Within the table_partition_description, you can use the partition_level_subpartition    clause to define the properties of individual subpartitions.</p>"},{"id":"text-192","type":"text","heading":"","plain_text":"If you omit the partition name, then the database generates a name with the form SYS_Pn.","html":"<p>If you omit the partition name, then the database generates a name with the form SYS_Pn.</p>"},{"id":"text-193","type":"text","heading":"","plain_text":"The only characteristic you can specify for a hash or list subpartition or a LOB subpartition is TABLESPACE.","html":"<p>The only characteristic you can specify for a hash or list subpartition or a LOB subpartition is TABLESPACE.</p>"},{"id":"text-194","type":"text","heading":"","plain_text":"Restriction on Composite Partitioning You cannot specify composite partitioning for an index-organized table. Therefore, the OVERFLOW clause of the table_partition_description    is not valid for composite-partitioned tables.\nsubpartition_template le subpartition_template    is an optional element of both range-hash and range-list composite partitioning. The template lets you define default subpartitions for each table partition. Oracle Database will create these default subpartitions in any partition for which you do not explicitly define subpartitions. This clause is useful for creating symmetric partitions. You can override this clause by explicitly defining subpartitions at the partition level, in the partition_level_subpartition    clause.\nWhen defining subpartitions with a template, you must specify a name for each subpartition.","html":"<p>Restriction on Composite Partitioning You cannot specify composite partitioning for an index-organized table. Therefore, the OVERFLOW clause of the table_partition_description    is not valid for composite-partitioned tables.\nsubpartition_template le subpartition_template    is an optional element of both range-hash and range-list composite partitioning. The template lets you define default subpartitions for each table partition. Oracle Database will create these default subpartitions in any partition for which you do not explicitly define subpartitions. This clause is useful for creating symmetric partitions. You can override this clause by explicitly defining subpartitions at the partition level, in the partition_level_subpartition    clause.\nWhen defining subpartitions with a template, you must specify a name for each subpartition.</p>"},{"id":"text-195","type":"text","heading":"","plain_text":"Remarque:\nWhen you specify tablespace storage for the subpartition template, it does not override any tablespace storage you have specified explicitly for the partitions of table. To specify tablespace storage for subpartitions, do one of these things:","html":"<p>Remarque:\nWhen you specify tablespace storage for the subpartition template, it does not override any tablespace storage you have specified explicitly for the partitions of table. To specify tablespace storage for subpartitions, do one of these things:</p>"},{"id":"text-196","type":"text","heading":"","plain_text":"Omit tablespace storage at the partition level and specify tablespace storage in the subpartition template.","html":"<p>Omit tablespace storage at the partition level and specify tablespace storage in the subpartition template.</p>"},{"id":"text-197","type":"text","heading":"","plain_text":"Define individual subpartitions with specific tablespace storage.","html":"<p>Define individual subpartitions with specific tablespace storage.</p>"},{"id":"text-198","type":"text","heading":"","plain_text":"Restrictions on Subpartition Templates Subpartition templates are subject to the following restrictions:","html":"<p>Restrictions on Subpartition Templates Subpartition templates are subject to the following restrictions:</p>"},{"id":"text-199","type":"text","heading":"","plain_text":"For a range-hash composite-partitioned table, you cannot specify the list_values_clause.","html":"<p>For a range-hash composite-partitioned table, you cannot specify the list_values_clause.</p>"},{"id":"text-200","type":"text","heading":"","plain_text":"For a range-list composite-partitioned table, you cannot specify the hash_subpartition_quantity    clause.","html":"<p>For a range-list composite-partitioned table, you cannot specify the hash_subpartition_quantity    clause.</p>"},{"id":"text-201","type":"text","heading":"","plain_text":"For both range-hash and range-list partitioned tables, the only clause of the partitioning_storage_clause    you can specify for subpartitions is the TABLESPACE clause.","html":"<p>For both range-hash and range-list partitioned tables, the only clause of the partitioning_storage_clause    you can specify for subpartitions is the TABLESPACE clause.</p>"},{"id":"text-202","type":"text","heading":"","plain_text":"If you specify TABLESPACE for one subpartition, then you must specify TABLESPACE for all subpartitions. You can specify the same tablespace for more than one subpartition.","html":"<p>If you specify TABLESPACE for one subpartition, then you must specify TABLESPACE for all subpartitions. You can specify the same tablespace for more than one subpartition.</p>"},{"id":"text-203","type":"text","heading":"","plain_text":"If you specify TABLESPACE for one LOB subpartition, then you must specify TABLESPACE for all of the LOB subpartitions of that LOB column. You can specify the same tablespace for more than one LOB subpartition.","html":"<p>If you specify TABLESPACE for one LOB subpartition, then you must specify TABLESPACE for all of the LOB subpartitions of that LOB column. You can specify the same tablespace for more than one LOB subpartition.</p>"},{"id":"text-204","type":"text","heading":"","plain_text":"If you specify separate LOB storage for list subpartitions using the partitioning_storage_clause, either in the subpartition_template    or when defining individual subpartitions, then you must specify LOB_segname    for both LOB and varray columns.","html":"<p>If you specify separate LOB storage for list subpartitions using the partitioning_storage_clause, either in the subpartition_template    or when defining individual subpartitions, then you must specify LOB_segname    for both LOB and varray columns.</p>"},{"id":"text-205","type":"text","heading":"","plain_text":"subpartition_by_hash\nUtilisez le subpartition_by_hash    clause to indicate that the database should subpartition by hash each partition in table. The subpartitioning column list is unrelated to the partitioning key but is subject to the same restrictions (see colonne).\nYou can define the subpartitions using the subpartition_template    ou la SUBPARTITIONS quantité    clause. See subpartition_template. In either case, for optimal load balancing you should specify a number of partitions that is a power of 2.\nSUBPARTITIONS quantité Specify the default number of subpartitions in each partition of table, and optionally one or more tablespaces in which they are to be stored.\nThe default value is 1. If you omit both this clause and subpartition_template, then the database will create each partition with one hash subpartition unless you subsequently specify the partition_level_subpartition    clause.\nRestriction on Hash Subpartitioning In addition to the restrictions for composite partitioning in general (see composite_partitioning ), for hash subpartitioning in subpartition_template, you cannot specify the list_values_clause.\nsubpartition_by_list \nUtilisez le subpartition_by_list    clause to indicate that the database should subpartition each partition in table    by literal values from colonne.\nIf you omit subpartition_template, then you can define list subpartitions individually for each partition using the partition_level_subpartition    clause of table_partition_description. If you omit both subpartition_template    et partition_level_subpartition, then the database creates a single DEFAULT subpartition.\nRestrictions on List Subpartitioning List subpartitioning is subject to the following restrictions:\nIn addition to the restrictions for composite partitioning in general (see composite_partitioning ), for list subpartitioning:","html":"<p>subpartition_by_hash\nUtilisez le subpartition_by_hash    clause to indicate that the database should subpartition by hash each partition in table. The subpartitioning column list is unrelated to the partitioning key but is subject to the same restrictions (see colonne).\nYou can define the subpartitions using the subpartition_template    ou la SUBPARTITIONS quantité    clause. See subpartition_template. In either case, for optimal load balancing you should specify a number of partitions that is a power of 2.\nSUBPARTITIONS quantité Specify the default number of subpartitions in each partition of table, and optionally one or more tablespaces in which they are to be stored.\nThe default value is 1. If you omit both this clause and subpartition_template, then the database will create each partition with one hash subpartition unless you subsequently specify the partition_level_subpartition    clause.\nRestriction on Hash Subpartitioning In addition to the restrictions for composite partitioning in general (see composite_partitioning ), for hash subpartitioning in subpartition_template, you cannot specify the list_values_clause.\nsubpartition_by_list \nUtilisez le subpartition_by_list    clause to indicate that the database should subpartition each partition in table    by literal values from colonne.\nIf you omit subpartition_template, then you can define list subpartitions individually for each partition using the partition_level_subpartition    clause of table_partition_description. If you omit both subpartition_template    et partition_level_subpartition, then the database creates a single DEFAULT subpartition.\nRestrictions on List Subpartitioning List subpartitioning is subject to the following restrictions:\nIn addition to the restrictions for composite partitioning in general (see composite_partitioning ), for list subpartitioning:</p>"},{"id":"text-206","type":"text","heading":"","plain_text":"You can specify only one subpartitioning key column.","html":"<p>You can specify only one subpartitioning key column.</p>"},{"id":"text-207","type":"text","heading":"","plain_text":"You must specify the list_values_clause, which is subject to the same requirements as at the table level.","html":"<p>You must specify the list_values_clause, which is subject to the same requirements as at the table level.</p>"},{"id":"text-208","type":"text","heading":"","plain_text":"dans le subpartition_template, you cannot specify the hash_subpartition_quantity    clause.","html":"<p>dans le subpartition_template, you cannot specify the hash_subpartition_quantity    clause.</p>"},{"id":"text-209","type":"text","heading":"","plain_text":"partition_level_subpartition\nThis clause of the table_partition_description    is valid only for composite-partitioned tables. This clause lets you specify hash or list subpartitions for cloison. This clause overrides the default settings established for range-hash composite partitions in the subpartition_by_hash    clause or for range-hash or range-list composite partitions in the subpartition_template.\nNotes on Composite Partitions The following notes apply to composite partitions:","html":"<p>partition_level_subpartition\nThis clause of the table_partition_description    is valid only for composite-partitioned tables. This clause lets you specify hash or list subpartitions for cloison. This clause overrides the default settings established for range-hash composite partitions in the subpartition_by_hash    clause or for range-hash or range-list composite partitions in the subpartition_template.\nNotes on Composite Partitions The following notes apply to composite partitions:</p>"},{"id":"text-210","type":"text","heading":"","plain_text":"You can specify the number of subpartitions and optionally one or more tablespaces where they are to be stored. In this case, Oracle Database assigns subpartition names of the form SYS_SUBPn. The number of tablespaces does not have to equal the number of subpartitions. If the number of partitions is greater than the number of tablespaces, then the database cycles through the names of the tablespaces.","html":"<p>You can specify the number of subpartitions and optionally one or more tablespaces where they are to be stored. In this case, Oracle Database assigns subpartition names of the form SYS_SUBPn. The number of tablespaces does not have to equal the number of subpartitions. If the number of partitions is greater than the number of tablespaces, then the database cycles through the names of the tablespaces.</p>"},{"id":"text-211","type":"text","heading":"","plain_text":"Alternatively, you can use the subpartition_spec    to specify individual subpartitions by name, and optionally the tablespace where each should be stored.","html":"<p>Alternatively, you can use the subpartition_spec    to specify individual subpartitions by name, and optionally the tablespace where each should be stored.</p>"},{"id":"text-212","type":"text","heading":"","plain_text":"If you omit partition_level_subpartition    and if you have created a subpartition template, then the database uses the template to create subpartitions. If you have not created a subpartition template, then the database creates one hash subpartition or one DEFAULT list subpartition.","html":"<p>If you omit partition_level_subpartition    and if you have created a subpartition template, then the database uses the template to create subpartitions. If you have not created a subpartition template, then the database creates one hash subpartition or one DEFAULT list subpartition.</p>"},{"id":"text-213","type":"text","heading":"","plain_text":"If you omit partition_level_subpartition    entirely, then the database assigns subpartition names as follows:","html":"<p>If you omit partition_level_subpartition    entirely, then the database assigns subpartition names as follows:</p>"},{"id":"text-214","type":"text","heading":"","plain_text":"If you have specified a subpartition template et you have specified partition names, then the database generates subpartition names of the form partition_name    underscore (_) subpartition_name    (for example, P1_SUB1).","html":"<p>If you have specified a subpartition template et you have specified partition names, then the database generates subpartition names of the form partition_name    underscore (_) subpartition_name    (for example, P1_SUB1).</p>"},{"id":"text-215","type":"text","heading":"","plain_text":"If you have not specified a subpartition template ou if you have specified a subpartition template but did not specify partition names, then the database generates subpartition names of the form SYS_SUBPn.","html":"<p>If you have not specified a subpartition template ou if you have specified a subpartition template but did not specify partition names, then the database generates subpartition names of the form SYS_SUBPn.</p>"},{"id":"text-216","type":"text","heading":"","plain_text":"Dans partition_spec, the only clause of the partitioning_storage_clause    you can specify is the TABLESPACE clause.","html":"<p>Dans partition_spec, the only clause of the partitioning_storage_clause    you can specify is the TABLESPACE clause.</p>"},{"id":"text-217","type":"text","heading":"","plain_text":"For range-hash composite partitions, the list_values_clause    de subpartition_spec    is not relevant and is invalid.\nFor range-list composite partitions:","html":"<p>For range-hash composite partitions, the list_values_clause    de subpartition_spec    is not relevant and is invalid.\nFor range-list composite partitions:</p>"},{"id":"text-218","type":"text","heading":"","plain_text":"le hash_subpartition_quantity    is not relevant, so you specify subpartition_spec.","html":"<p>le hash_subpartition_quantity    is not relevant, so you specify subpartition_spec.</p>"},{"id":"text-219","type":"text","heading":"","plain_text":"Within subpartition_spec, you must specify the list_values_clause    for each subpartition, and the values you specify for each subpartition cannot exist in any other subpartition of the same partition.","html":"<p>Within subpartition_spec, you must specify the list_values_clause    for each subpartition, and the values you specify for each subpartition cannot exist in any other subpartition of the same partition.</p>"},{"id":"text-220","type":"text","heading":"","plain_text":"CACHE | NOCACHE | CACHE READS\nUtilisez le CACHE clauses to indicate how Oracle Database should store blocks in the buffer cache. If you specify neither CACHE nor NOCACHE, then:","html":"<p>CACHE | NOCACHE | CACHE READS\nUtilisez le CACHE clauses to indicate how Oracle Database should store blocks in the buffer cache. If you specify neither CACHE nor NOCACHE, then:</p>"},{"id":"text-221","type":"text","heading":"","plain_text":"Dans un CREATE TABLE statement, NOCACHE is the default","html":"<p>Dans un CREATE TABLE statement, NOCACHE is the default</p>"},{"id":"text-222","type":"text","heading":"","plain_text":"Dans un MODIFIER TABLE statement, the existing value is not changed.","html":"<p>Dans un MODIFIER TABLE statement, the existing value is not changed.</p>"},{"id":"text-223","type":"text","heading":"","plain_text":"CACHE For data that is accessed frequently, this clause indicates that the blocks retrieved for this table are placed at the most recently used end of the least recently used (LRU) list in the buffer cache when a full table scan is performed. This attribute is useful for small lookup tables.\nAs a parameter in the LOB_storage_clause, CACHE specifies that the database places LOB data values in the buffer cache for faster access.\nRestriction on CACHE You cannot specify CACHE for an index-organized table. However, index-organized tables implicitly provide CACHE behavior.\nNOCACHE For data that is not accessed frequently, this clause indicates that the blocks retrieved for this table are placed at the least recently used end of the LRU list in the buffer cache when a full table scan is performed. NOCACHE is the default for LOB storage.\nAs a parameter in the LOB_storage_clause, NOCACHE specifies that the LOB value either is not brought into the buffer cache or is brought into the buffer cache and placed at the least recently used end of the LRU list. The latter is the default behavior.\nRestriction on NOCACHE You cannot specify NOCACHE for an index-organized table.\nCACHE READS CACHE READS applies only to LOB storage. It specifies that LOB values are brought into the buffer cache only during read operations but not during write operations.","html":"<p>CACHE For data that is accessed frequently, this clause indicates that the blocks retrieved for this table are placed at the most recently used end of the least recently used (LRU) list in the buffer cache when a full table scan is performed. This attribute is useful for small lookup tables.\nAs a parameter in the LOB_storage_clause, CACHE specifies that the database places LOB data values in the buffer cache for faster access.\nRestriction on CACHE You cannot specify CACHE for an index-organized table. However, index-organized tables implicitly provide CACHE behavior.\nNOCACHE For data that is not accessed frequently, this clause indicates that the blocks retrieved for this table are placed at the least recently used end of the LRU list in the buffer cache when a full table scan is performed. NOCACHE is the default for LOB storage.\nAs a parameter in the LOB_storage_clause, NOCACHE specifies that the LOB value either is not brought into the buffer cache or is brought into the buffer cache and placed at the least recently used end of the LRU list. The latter is the default behavior.\nRestriction on NOCACHE You cannot specify NOCACHE for an index-organized table.\nCACHE READS CACHE READS applies only to LOB storage. It specifies that LOB values are brought into the buffer cache only during read operations but not during write operations.</p>"},{"id":"text-224","type":"text","heading":"","plain_text":"Voir également:\nlogging_clause    for a description of the logging_clause    when specified as part of LOB_parameters\nparallel_clause \nle parallel_clause    lets you parallelize creation of the table and set the default degree of parallelism for queries and the DML INSÉRER, UPDATE, DELETE, et MERGE after table creation.","html":"<p>Voir également:\nlogging_clause    for a description of the logging_clause    when specified as part of LOB_parameters\nparallel_clause \nle parallel_clause    lets you parallelize creation of the table and set the default degree of parallelism for queries and the DML INSÉRER, UPDATE, DELETE, et MERGE after table creation.</p>"},{"id":"text-225","type":"text","heading":"","plain_text":"Remarque:\nThe syntax of the parallel_clause    supersedes syntax appearing in earlier releases of Oracle. Superseded syntax is still supported for backward compatibility but may result in slightly different behavior from that documented.\nNOPARALLEL Specify NOPARALLEL for serial execution. This is the default.\nPARALLEL  Specify PARALLEL if you want Oracle to select a degree of parallelism equal to the number of CPUs available on all participating instances times the value of the PARALLEL_THREADS_PER_CPU initialization parameter.\nPARALLEL entier Specification of entier    indicates the degree of parallelism, which is the number of parallel threads used in the parallel operation. Each parallel thread may use one or two parallel execution servers. Normally Oracle calculates the optimum degree of parallelism, so it is not necessary for you to specify entier.\nNOROWDEPENDENCIES | ROWDEPENDENCIES \nThis clause lets you specify whether table    will use row-level dependency tracking. With this feature, each row in the table has a system change number (SCN) that represents a time greater than or equal to the commit time of the last transaction that modified the row. You cannot change this setting after table    is created.\nROWDEPENDENCIES Specify ROWDEPENDENCIES if you want to enable row-level dependency tracking. This setting is useful primarily to allow for parallel propagation in replication environments. It increases the size of each row by 6 bytes.\nNOROWDEPENDENCIES Specify NOROWDEPENDENCIES if you do not want table    to use the row-level dependency tracking feature. This is the default.\nMONITORING | NOMONITORING \nIn earlier releases, you could use these clauses to start or stop the collection of modification statistics on this table. These clauses have been deprecated.","html":"<p>Remarque:\nThe syntax of the parallel_clause    supersedes syntax appearing in earlier releases of Oracle. Superseded syntax is still supported for backward compatibility but may result in slightly different behavior from that documented.\nNOPARALLEL Specify NOPARALLEL for serial execution. This is the default.\nPARALLEL  Specify PARALLEL if you want Oracle to select a degree of parallelism equal to the number of CPUs available on all participating instances times the value of the PARALLEL_THREADS_PER_CPU initialization parameter.\nPARALLEL entier Specification of entier    indicates the degree of parallelism, which is the number of parallel threads used in the parallel operation. Each parallel thread may use one or two parallel execution servers. Normally Oracle calculates the optimum degree of parallelism, so it is not necessary for you to specify entier.\nNOROWDEPENDENCIES | ROWDEPENDENCIES \nThis clause lets you specify whether table    will use row-level dependency tracking. With this feature, each row in the table has a system change number (SCN) that represents a time greater than or equal to the commit time of the last transaction that modified the row. You cannot change this setting after table    is created.\nROWDEPENDENCIES Specify ROWDEPENDENCIES if you want to enable row-level dependency tracking. This setting is useful primarily to allow for parallel propagation in replication environments. It increases the size of each row by 6 bytes.\nNOROWDEPENDENCIES Specify NOROWDEPENDENCIES if you do not want table    to use the row-level dependency tracking feature. This is the default.\nMONITORING | NOMONITORING \nIn earlier releases, you could use these clauses to start or stop the collection of modification statistics on this table. These clauses have been deprecated.</p>"},{"id":"text-226","type":"text","heading":"","plain_text":"If you formerly collected modification statistics on tables by using the DBMS_STATS package in GATHER AUTO ou GATHER STALE mode, then you no longer have to do anything. Oracle Database now collects these statistics automatically, and the MONITORING et NOMONITORING keywords in existing code will not cause an error.","html":"<p>If you formerly collected modification statistics on tables by using the DBMS_STATS package in GATHER AUTO ou GATHER STALE mode, then you no longer have to do anything. Oracle Database now collects these statistics automatically, and the MONITORING et NOMONITORING keywords in existing code will not cause an error.</p>"},{"id":"text-227","type":"text","heading":"","plain_text":"If, for performance reasons, you do not want to collect modification statistics on any tables, then you should set the STATISTICS_LEVEL initialization parameter to BASIC. Be aware, however, that doing so disables a number of manageability features.","html":"<p>If, for performance reasons, you do not want to collect modification statistics on any tables, then you should set the STATISTICS_LEVEL initialization parameter to BASIC. Be aware, however, that doing so disables a number of manageability features.</p>"},{"id":"text-228","type":"text","heading":"","plain_text":"Voir également:\nOracle Database Reference for information on the STATISTICS_LEVEL initialization parameter, including its affect on Oracle Database manageability features\nenable_disable_clause \nle enable_disable_clause    lets you specify whether Oracle Database should apply a constraint. By default, constraints are created in ENABLE VALIDATE Etat.\nRestrictions on Enabling and Disabling Constraints Enabling and disabling constraints are subject to the following restrictions:","html":"<p>Voir également:\nOracle Database Reference for information on the STATISTICS_LEVEL initialization parameter, including its affect on Oracle Database manageability features\nenable_disable_clause \nle enable_disable_clause    lets you specify whether Oracle Database should apply a constraint. By default, constraints are created in ENABLE VALIDATE Etat.\nRestrictions on Enabling and Disabling Constraints Enabling and disabling constraints are subject to the following restrictions:</p>"},{"id":"text-229","type":"text","heading":"","plain_text":"To enable or disable any integrity constraint, you must have defined the constraint in this or a previous statement.","html":"<p>To enable or disable any integrity constraint, you must have defined the constraint in this or a previous statement.</p>"},{"id":"text-230","type":"text","heading":"","plain_text":"You cannot enable a foreign key constraint unless the referenced unique or primary key constraint is already enabled.","html":"<p>You cannot enable a foreign key constraint unless the referenced unique or primary key constraint is already enabled.</p>"},{"id":"text-231","type":"text","heading":"","plain_text":"ENABLE Clause Use this clause if you want the constraint to be applied to the data in the table. This clause is described fully in &quot;ENABLE Clause&quot; in the documentation on constraints.\nDISABLE Clause Use this clause if you want to disable the integrity constraint. This clause is described fully in &quot;DISABLE Clause&quot; in the documentation on constraints.\nUNIQUE  le UNIQUE clause lets you enable or disable the unique constraint defined on the specified column or combination of columns.\nPRIMARY KEY  le PRIMARY KEY clause lets you enable or disable the primary key constraint defined on the table.\nCONSTRAINT  le CONSTRAINT clause lets you enable or disable the integrity constraint named constraint.\nKEEP | DROP INDEX This clause lets you either preserve or drop the index Oracle Database has been using to enforce a unique or primary key constraint.\nRestriction on Preserving and Dropping Indexes You can specify this clause only when disabling a unique or primary key constraint.\nusing_index_clause  le using_index_clause    lets you specify an index for Oracle Database to use to enforce a unique or primary key constraint, or lets you instruct the database to create the index used to enforce the constraint. This clause is discussed fully in using_index_clause    in the documentation on constraints.\nCASCADE  Specify CASCADE to disable any integrity constraints that depend on the specified integrity constraint. To disable a primary or unique key that is part of a referential integrity constraint, you must specify this clause.\nRestriction on CASCADE You can specify CASCADE only if you have specified DISABLE.\nrow_movement_clause \nle row_movement_clause    lets you specify whether the database can move a table row. It is possible for a row to move, for example, during table compression or an update operation on partitioned data.","html":"<p>ENABLE Clause Use this clause if you want the constraint to be applied to the data in the table. This clause is described fully in &quot;ENABLE Clause&quot; in the documentation on constraints.\nDISABLE Clause Use this clause if you want to disable the integrity constraint. This clause is described fully in &quot;DISABLE Clause&quot; in the documentation on constraints.\nUNIQUE  le UNIQUE clause lets you enable or disable the unique constraint defined on the specified column or combination of columns.\nPRIMARY KEY  le PRIMARY KEY clause lets you enable or disable the primary key constraint defined on the table.\nCONSTRAINT  le CONSTRAINT clause lets you enable or disable the integrity constraint named constraint.\nKEEP | DROP INDEX This clause lets you either preserve or drop the index Oracle Database has been using to enforce a unique or primary key constraint.\nRestriction on Preserving and Dropping Indexes You can specify this clause only when disabling a unique or primary key constraint.\nusing_index_clause  le using_index_clause    lets you specify an index for Oracle Database to use to enforce a unique or primary key constraint, or lets you instruct the database to create the index used to enforce the constraint. This clause is discussed fully in using_index_clause    in the documentation on constraints.\nCASCADE  Specify CASCADE to disable any integrity constraints that depend on the specified integrity constraint. To disable a primary or unique key that is part of a referential integrity constraint, you must specify this clause.\nRestriction on CASCADE You can specify CASCADE only if you have specified DISABLE.\nrow_movement_clause \nle row_movement_clause    lets you specify whether the database can move a table row. It is possible for a row to move, for example, during table compression or an update operation on partitioned data.</p>"},{"id":"text-232","type":"text","heading":"","plain_text":"Caution:\nIf you need static rowids for data access, do not enable row movement. For a normal (heap-organized) table, moving a row changes the rowid of the row. For a moved row in an index-organized table, the logical rowid remains valid, although the physical guess component of the logical rowid becomes inaccurate.","html":"<p>Caution:\nIf you need static rowids for data access, do not enable row movement. For a normal (heap-organized) table, moving a row changes the rowid of the row. For a moved row in an index-organized table, the logical rowid remains valid, although the physical guess component of the logical rowid becomes inaccurate.</p>"},{"id":"text-233","type":"text","heading":"","plain_text":"Specify ENABLE to allow the database to move a row, thus changing the rowid.","html":"<p>Specify ENABLE to allow the database to move a row, thus changing the rowid.</p>"},{"id":"text-234","type":"text","heading":"","plain_text":"Specify DISABLE if you want to prevent the database from moving a row, thus preventing a change of rowid.","html":"<p>Specify DISABLE if you want to prevent the database from moving a row, thus preventing a change of rowid.</p>"},{"id":"text-235","type":"text","heading":"","plain_text":"If you omit this clause, then the database disables row movement.\nRestriction on Row Movement You cannot specify this clause for a nonpartitioned index-organized table.\nCOMME subquery \nSpecify a subquery to determine the contents of the table. The rows returned by the subquery are inserted into the table upon its creation.\nFor object tables, subquery    can contain either one expression corresponding to the table type, or the number of top-level attributes of the table type. Please refer to SELECT for more information.\nSi subquery    returns the equivalent of part or all of an existing materialized view, then the database may rewrite the query to use the materialized view in place of one or more tables specified in subquery.\nOracle Database derives datatypes and lengths from the subquery. Oracle Database follows the following rules for integrity constraints and other column and table attributes:","html":"<p>If you omit this clause, then the database disables row movement.\nRestriction on Row Movement You cannot specify this clause for a nonpartitioned index-organized table.\nCOMME subquery \nSpecify a subquery to determine the contents of the table. The rows returned by the subquery are inserted into the table upon its creation.\nFor object tables, subquery    can contain either one expression corresponding to the table type, or the number of top-level attributes of the table type. Please refer to SELECT for more information.\nSi subquery    returns the equivalent of part or all of an existing materialized view, then the database may rewrite the query to use the materialized view in place of one or more tables specified in subquery.\nOracle Database derives datatypes and lengths from the subquery. Oracle Database follows the following rules for integrity constraints and other column and table attributes:</p>"},{"id":"text-236","type":"text","heading":"","plain_text":"Oracle Database automatically defines on columns in the new table any NE PAS NULL constraints that were explicitly created on the corresponding columns of the selected table if the subquery selects the column rather than an expression containing the column. If any rows violate the constraint, then the database does not create the table and returns an error.","html":"<p>Oracle Database automatically defines on columns in the new table any NE PAS NULL constraints that were explicitly created on the corresponding columns of the selected table if the subquery selects the column rather than an expression containing the column. If any rows violate the constraint, then the database does not create the table and returns an error.</p>"},{"id":"text-237","type":"text","heading":"","plain_text":"NE PAS NULL constraints that were implicitly created by Oracle Database on columns of the selected table (for example, for primary keys) are not carried over to the new table.","html":"<p>NE PAS NULL constraints that were implicitly created by Oracle Database on columns of the selected table (for example, for primary keys) are not carried over to the new table.</p>"},{"id":"text-238","type":"text","heading":"","plain_text":"In addition, primary keys, unique keys, foreign keys, check constraints, partitioning criteria, indexes, and column default values are not carried over to the new table.","html":"<p>In addition, primary keys, unique keys, foreign keys, check constraints, partitioning criteria, indexes, and column default values are not carried over to the new table.</p>"},{"id":"text-239","type":"text","heading":"","plain_text":"If the selected table is partitioned, you can choose whether the new table will be partitioned the same way, partitioned differently, or not partitioned. Partitioning is not carried over to the new table. Specify any desired partitioning as part of the CREATE TABLE statement before the COMME subquery    clause.","html":"<p>If the selected table is partitioned, you can choose whether the new table will be partitioned the same way, partitioned differently, or not partitioned. Partitioning is not carried over to the new table. Specify any desired partitioning as part of the CREATE TABLE statement before the COMME subquery    clause.</p>"},{"id":"text-240","type":"text","heading":"","plain_text":"If all expressions in subquery    are columns, rather than expressions, then you can omit the columns from the table definition entirely. In this case, the names of the columns of table are the same as the columns in subquery.\nYou can use subquery    in combination with the TO_LOB function to convert the values in a LONG column in another table to LOB values in a column of the table you are creating.\nparallel_clause If you specify the parallel_clause    in this statement, then the database will ignore any value you specify for the INITIAL storage parameter and will instead use the value of the NEXT parameter.\nORDER BY le ORDER PAR clause lets you order rows returned by the subquery.\nWhen specified with CREATE TABLE, this clause does not necessarily order data across the entire table. For example, it does not order across partitions. Specify this clause if you intend to create an index on the same key as the ORDER PAR key column. Oracle Database will cluster data on the ORDER PAR key so that it corresponds to the index key.\nRestrictions on the Defining Query of a Table The table query is subject to the following restrictions:","html":"<p>If all expressions in subquery    are columns, rather than expressions, then you can omit the columns from the table definition entirely. In this case, the names of the columns of table are the same as the columns in subquery.\nYou can use subquery    in combination with the TO_LOB function to convert the values in a LONG column in another table to LOB values in a column of the table you are creating.\nparallel_clause If you specify the parallel_clause    in this statement, then the database will ignore any value you specify for the INITIAL storage parameter and will instead use the value of the NEXT parameter.\nORDER BY le ORDER PAR clause lets you order rows returned by the subquery.\nWhen specified with CREATE TABLE, this clause does not necessarily order data across the entire table. For example, it does not order across partitions. Specify this clause if you intend to create an index on the same key as the ORDER PAR key column. Oracle Database will cluster data on the ORDER PAR key so that it corresponds to the index key.\nRestrictions on the Defining Query of a Table The table query is subject to the following restrictions:</p>"},{"id":"text-241","type":"text","heading":"","plain_text":"The number of columns in the table must equal the number of expressions in the subquery.","html":"<p>The number of columns in the table must equal the number of expressions in the subquery.</p>"},{"id":"text-242","type":"text","heading":"","plain_text":"The column definitions can specify only column names, default values, and integrity constraints, not datatypes.","html":"<p>The column definitions can specify only column names, default values, and integrity constraints, not datatypes.</p>"},{"id":"text-243","type":"text","heading":"","plain_text":"You cannot define a foreign key constraint in a CREATE TABLE statement that contains COMME subquery. Instead, you must create the table without the constraint and then add it later with an MODIFIER TABLE déclaration.","html":"<p>You cannot define a foreign key constraint in a CREATE TABLE statement that contains COMME subquery. Instead, you must create the table without the constraint and then add it later with an MODIFIER TABLE déclaration.</p>"},{"id":"text-244","type":"text","heading":"","plain_text":"object_table \nle OF clause lets you explicitly create an object table of type object_type. The columns of an object table correspond to the top-level attributes of type object_type. Each row will contain an object instance, and each instance will be assigned a unique, system-generated object identifier when a row is inserted. If you omit schema, then the database creates the object table in your own schema.\nObject tables, as well as XMLType tables, object views, and XMLType views, do not have any column names specified for them. Therefore, Oracle defines a system-generated pseudocolumn OBJECT_ID. You can use this column name in queries and to create object views with the AVEC OBJECT IDENTIFIER clause.\nobject_table_substitution \nUtilisez le object_table_substitution    clause to specify whether row objects corresponding to subtypes can be inserted into this object table.\nNOT SUBSTITUTABLE AT ALL LEVELS NE PAS SUBSTITUTABLE À TOUT LEVELS indicates that the object table being created is not substitutable. In addition, substitution is disabled for all embedded object attributes and elements of embedded nested tables and arrays. The default is SUBSTITUTABLE À TOUT LEVELS.\nobject_properties\nThe properties of object tables are essentially the same as those of relational tables. However, instead of specifying columns, you specify attributes of the object.\nPour attribute, specify the qualified column name of an item in an object.\noid_clause\nle oid_clause    lets you specify whether the object identifier of the object table should be system generated or should be based on the primary key of the table. The default is SYSTEM GENERATED.\nRestrictions on the oid_clause This clause is subject to the following restrictions:","html":"<p>object_table \nle OF clause lets you explicitly create an object table of type object_type. The columns of an object table correspond to the top-level attributes of type object_type. Each row will contain an object instance, and each instance will be assigned a unique, system-generated object identifier when a row is inserted. If you omit schema, then the database creates the object table in your own schema.\nObject tables, as well as XMLType tables, object views, and XMLType views, do not have any column names specified for them. Therefore, Oracle defines a system-generated pseudocolumn OBJECT_ID. You can use this column name in queries and to create object views with the AVEC OBJECT IDENTIFIER clause.\nobject_table_substitution \nUtilisez le object_table_substitution    clause to specify whether row objects corresponding to subtypes can be inserted into this object table.\nNOT SUBSTITUTABLE AT ALL LEVELS NE PAS SUBSTITUTABLE À TOUT LEVELS indicates that the object table being created is not substitutable. In addition, substitution is disabled for all embedded object attributes and elements of embedded nested tables and arrays. The default is SUBSTITUTABLE À TOUT LEVELS.\nobject_properties\nThe properties of object tables are essentially the same as those of relational tables. However, instead of specifying columns, you specify attributes of the object.\nPour attribute, specify the qualified column name of an item in an object.\noid_clause\nle oid_clause    lets you specify whether the object identifier of the object table should be system generated or should be based on the primary key of the table. The default is SYSTEM GENERATED.\nRestrictions on the oid_clause This clause is subject to the following restrictions:</p>"},{"id":"text-245","type":"text","heading":"","plain_text":"You cannot specify OBJECT IDENTIFIER IS PRIMARY KEY unless you have already specified a PRIMARY KEY constraint for the table.","html":"<p>You cannot specify OBJECT IDENTIFIER IS PRIMARY KEY unless you have already specified a PRIMARY KEY constraint for the table.</p>"},{"id":"text-246","type":"text","heading":"","plain_text":"You cannot specify this clause for a nested table.","html":"<p>You cannot specify this clause for a nested table.</p>"},{"id":"text-247","type":"text","heading":"","plain_text":"Remarque:\nA primary key object identifier is locally unique but not necessarily globally unique. If you require a globally unique identifier, then you must ensure that the primary key is globally unique.\noid_index_clause\nThis clause is relevant only if you have specified the oid_clause    comme SYSTEM GENERATED. It specifies an index, and optionally its storage characteristics, on the hidden object identifier column.\nPour indice, specify the name of the index on the hidden system-generated object identifier column. If you omit indice, then the database generates a name.\nphysical_properties et table_properties\nThe semantics of these clauses are documented in the corresponding sections under relational tables. See physical_properties    et table_properties.\nXMLType_table \nUtilisez le XMLType_table    syntax to create a table of datatype XMLType. Most of the clauses used to create an XMLType table have the same semantics that exist for object tables. The clauses specific to XMLType tables are described in this section.\nObject tables, as well as XMLType tables, object views, and XMLType views, do not have any column names specified for them. Therefore, Oracle defines a system-generated pseudocolumn OBJECT_ID. You can use this column name in queries and to create object views with the AVEC OBJECT IDENTIFIER clause.\nXMLType_storage\nThis clause lets you determine how Oracle Database manages the storage of the underlying columns.\nOBJECT RELATIONAL Specify OBJECT RELATIONAL if you want the database to store the XMLType data in object relational columns. If you specify OBJECT RELATIONAL, then you must also specify an XMLSchema in the XMLSchema_storage_clause, and you must already have registered the schema using the DBMS_XMLSCHEMA package. Oracle Database will create the table conforming to the registered schema.\nCLOB Specify CLOB if you want the database to store the XML data in a CLOB column. If you specify CLOB, then you may also specify either a LOB segment name, or the LOB_parameters    clause, or both.\nXMLSchema_spec\nThis clause lets you specify the URL of a registered XMLSchema, either in the XMLSCHEMA clause or as part of the ÉLÉMENT clause, and an XML element name. You must specify an element, although the XMLSchema URL is optional. If you do specify an XMLSchema URL, then you must already have registered the XMLSchema using the DBMS_XMLSCHEMA package.\nExemples \nGeneral Examples\nThis statement shows how the employees table owned by the sample human resources (hr) schema was created. A hypothetical name is given to the table and constraints so that you can duplicate this example in your test database:","html":"<p>Remarque:\nA primary key object identifier is locally unique but not necessarily globally unique. If you require a globally unique identifier, then you must ensure that the primary key is globally unique.\noid_index_clause\nThis clause is relevant only if you have specified the oid_clause    comme SYSTEM GENERATED. It specifies an index, and optionally its storage characteristics, on the hidden object identifier column.\nPour indice, specify the name of the index on the hidden system-generated object identifier column. If you omit indice, then the database generates a name.\nphysical_properties et table_properties\nThe semantics of these clauses are documented in the corresponding sections under relational tables. See physical_properties    et table_properties.\nXMLType_table \nUtilisez le XMLType_table    syntax to create a table of datatype XMLType. Most of the clauses used to create an XMLType table have the same semantics that exist for object tables. The clauses specific to XMLType tables are described in this section.\nObject tables, as well as XMLType tables, object views, and XMLType views, do not have any column names specified for them. Therefore, Oracle defines a system-generated pseudocolumn OBJECT_ID. You can use this column name in queries and to create object views with the AVEC OBJECT IDENTIFIER clause.\nXMLType_storage\nThis clause lets you determine how Oracle Database manages the storage of the underlying columns.\nOBJECT RELATIONAL Specify OBJECT RELATIONAL if you want the database to store the XMLType data in object relational columns. If you specify OBJECT RELATIONAL, then you must also specify an XMLSchema in the XMLSchema_storage_clause, and you must already have registered the schema using the DBMS_XMLSCHEMA package. Oracle Database will create the table conforming to the registered schema.\nCLOB Specify CLOB if you want the database to store the XML data in a CLOB column. If you specify CLOB, then you may also specify either a LOB segment name, or the LOB_parameters    clause, or both.\nXMLSchema_spec\nThis clause lets you specify the URL of a registered XMLSchema, either in the XMLSCHEMA clause or as part of the ÉLÉMENT clause, and an XML element name. You must specify an element, although the XMLSchema URL is optional. If you do specify an XMLSchema URL, then you must already have registered the XMLSchema using the DBMS_XMLSCHEMA package.\nExemples \nGeneral Examples\nThis statement shows how the employees table owned by the sample human resources (hr) schema was created. A hypothetical name is given to the table and constraints so that you can duplicate this example in your test database:</p>"},{"id":"text-248","type":"text","heading":"","plain_text":"CREATE TABLE employees_demo\n    ( employee_id    NUMBER(6)\n    , first_name     VARCHAR2(20)\n    , last_name      VARCHAR2(25) \n         CONSTRAINT emp_last_name_nn_demo NOT NULL\n    , email          VARCHAR2(25) \n         CONSTRAINT emp_email_nn_demo     NOT NULL\n    , phone_number   VARCHAR2(20)\n    , hire_date      DATE  DEFAULT SYSDATE \n         CONSTRAINT emp_hire_date_nn_demo  NOT NULL\n    , job_id         VARCHAR2(10)\n       CONSTRAINT     emp_job_nn_demo  NOT NULL\n    , salary         NUMBER(8,2)\n       CONSTRAINT     emp_salary_nn_demo  NOT NULL\n    , commission_pct NUMBER(2,2)\n    , manager_id     NUMBER(6)\n    , department_id  NUMBER(4)\n    , dn             VARCHAR2(300)\n    , CONSTRAINT     emp_salary_min_demo\n                     CHECK (salary &gt; 0) \n    , CONSTRAINT     emp_email_uk_demo\n                     UNIQUE (email)\n    ) ;","html":"<p>CREATE TABLE employees_demo\n    ( employee_id    NUMBER(6)\n    , first_name     VARCHAR2(20)\n    , last_name      VARCHAR2(25) \n         CONSTRAINT emp_last_name_nn_demo NOT NULL\n    , email          VARCHAR2(25) \n         CONSTRAINT emp_email_nn_demo     NOT NULL\n    , phone_number   VARCHAR2(20)\n    , hire_date      DATE  DEFAULT SYSDATE \n         CONSTRAINT emp_hire_date_nn_demo  NOT NULL\n    , job_id         VARCHAR2(10)\n       CONSTRAINT     emp_job_nn_demo  NOT NULL\n    , salary         NUMBER(8,2)\n       CONSTRAINT     emp_salary_nn_demo  NOT NULL\n    , commission_pct NUMBER(2,2)\n    , manager_id     NUMBER(6)\n    , department_id  NUMBER(4)\n    , dn             VARCHAR2(300)\n    , CONSTRAINT     emp_salary_min_demo\n                     CHECK (salary &gt; 0) \n    , CONSTRAINT     emp_email_uk_demo\n                     UNIQUE (email)\n    ) ;</p>"},{"id":"text-249","type":"text","heading":"","plain_text":"This table contains twelve columns. le employee_id column is of datatype NUMBER. le hire_date column is of datatype DATE and has a default value of SYSDATE. le last_name column is of type VARCHAR2 and has a NE PAS NULL constraint, and so on.\nStorage Example To define the same employees_demo table in the example tablespace with a small storage capacity and limited allocation potential, issue the following statement:","html":"<p>This table contains twelve columns. le employee_id column is of datatype NUMBER. le hire_date column is of datatype DATE and has a default value of SYSDATE. le last_name column is of type VARCHAR2 and has a NE PAS NULL constraint, and so on.\nStorage Example To define the same employees_demo table in the example tablespace with a small storage capacity and limited allocation potential, issue the following statement:</p>"},{"id":"text-250","type":"text","heading":"","plain_text":"CREATE TABLE employees_demo\n    ( employee_id    NUMBER(6)\n    , first_name     VARCHAR2(20)\n    , last_name      VARCHAR2(25) \n         CONSTRAINT emp_last_name_nn_demo NOT NULL\n    , email          VARCHAR2(25) \n         CONSTRAINT emp_email_nn_demo     NOT NULL\n    , phone_number   VARCHAR2(20)\n    , hire_date      DATE  DEFAULT SYSDATE \n         CONSTRAINT emp_hire_date_nn_demo  NOT NULL\n    , job_id         VARCHAR2(10)\n       CONSTRAINT     emp_job_nn_demo  NOT NULL\n    , salary         NUMBER(8,2)\n       CONSTRAINT     emp_salary_nn_demo  NOT NULL\n    , commission_pct NUMBER(2,2)\n    , manager_id     NUMBER(6)\n    , department_id  NUMBER(4)\n    , dn             VARCHAR2(300)\n    , CONSTRAINT     emp_salary_min_demo\n                     CHECK (salary &gt; 0) \n    , CONSTRAINT     emp_email_uk_demo\n                     UNIQUE (email)\n    )\n   TABLESPACE example \n   STORAGE (INITIAL     6144  \n            NEXT        6144 \n            MINEXTENTS     1  \n            MAXEXTENTS     5 );","html":"<p>CREATE TABLE employees_demo\n    ( employee_id    NUMBER(6)\n    , first_name     VARCHAR2(20)\n    , last_name      VARCHAR2(25) \n         CONSTRAINT emp_last_name_nn_demo NOT NULL\n    , email          VARCHAR2(25) \n         CONSTRAINT emp_email_nn_demo     NOT NULL\n    , phone_number   VARCHAR2(20)\n    , hire_date      DATE  DEFAULT SYSDATE \n         CONSTRAINT emp_hire_date_nn_demo  NOT NULL\n    , job_id         VARCHAR2(10)\n       CONSTRAINT     emp_job_nn_demo  NOT NULL\n    , salary         NUMBER(8,2)\n       CONSTRAINT     emp_salary_nn_demo  NOT NULL\n    , commission_pct NUMBER(2,2)\n    , manager_id     NUMBER(6)\n    , department_id  NUMBER(4)\n    , dn             VARCHAR2(300)\n    , CONSTRAINT     emp_salary_min_demo\n                     CHECK (salary &gt; 0) \n    , CONSTRAINT     emp_email_uk_demo\n                     UNIQUE (email)\n    )\n   TABLESPACE example \n   STORAGE (INITIAL     6144  \n            NEXT        6144 \n            MINEXTENTS     1  \n            MAXEXTENTS     5 );</p>"},{"id":"text-251","type":"text","heading":"","plain_text":"Temporary Table Example The following statement creates a temporary table today_sales for use by sales representatives in the sample database. Each sales representative session can store its own sales data for the day in the table. The temporary data is deleted at the end of the session.","html":"<p>Temporary Table Example The following statement creates a temporary table today_sales for use by sales representatives in the sample database. Each sales representative session can store its own sales data for the day in the table. The temporary data is deleted at the end of the session.</p>"},{"id":"text-252","type":"text","heading":"","plain_text":"CREATE GLOBAL TEMPORARY TABLE today_sales\n   ON COMMIT PRESERVE ROWS \n   AS SELECT * FROM orders WHERE order_date = SYSDATE;","html":"<p>CREATE GLOBAL TEMPORARY TABLE today_sales\n   ON COMMIT PRESERVE ROWS \n   AS SELECT * FROM orders WHERE order_date = SYSDATE;</p>"},{"id":"text-253","type":"text","heading":"","plain_text":"Substitutable Table and Column Examples The following statement creates a substitutable table from the person_t type, which was created in &quot;Type Hierarchy Example&quot;:","html":"<p>Substitutable Table and Column Examples The following statement creates a substitutable table from the person_t type, which was created in &quot;Type Hierarchy Example&quot;:</p>"},{"id":"text-254","type":"text","heading":"","plain_text":"CREATE TABLE persons OF person_t;","html":"<p>CREATE TABLE persons OF person_t;</p>"},{"id":"text-255","type":"text","heading":"","plain_text":"The following statement creates a table with a substitutable column of type person_t:","html":"<p>The following statement creates a table with a substitutable column of type person_t:</p>"},{"id":"text-256","type":"text","heading":"","plain_text":"CREATE TABLE books (title VARCHAR2(100), author person_t);","html":"<p>CREATE TABLE books (title VARCHAR2(100), author person_t);</p>"},{"id":"text-257","type":"text","heading":"","plain_text":"When you insert into persons ou books, you can specify values for the attributes of person_t or any of its subtypes. Examples of insert statements appear in &quot;Inserting into a Substitutable Tables and Columns: Examples&quot;.\nYou can extract data from such tables using built-in functions and conditions. For examples, see the functions TREAT and SYS_TYPEID, and the &quot;IS OF type Condition&quot; condition.\nPARALLEL Example The following statement creates a table using an optimum number of parallel execution servers to scan employees and to populate dept_80:","html":"<p>When you insert into persons ou books, you can specify values for the attributes of person_t or any of its subtypes. Examples of insert statements appear in &quot;Inserting into a Substitutable Tables and Columns: Examples&quot;.\nYou can extract data from such tables using built-in functions and conditions. For examples, see the functions TREAT and SYS_TYPEID, and the &quot;IS OF type Condition&quot; condition.\nPARALLEL Example The following statement creates a table using an optimum number of parallel execution servers to scan employees and to populate dept_80:</p>"},{"id":"text-258","type":"text","heading":"","plain_text":"CREATE TABLE dept_80\n   PARALLEL\n   AS SELECT * FROM employees\n   WHERE department_id = 80;","html":"<p>CREATE TABLE dept_80\n   PARALLEL\n   AS SELECT * FROM employees\n   WHERE department_id = 80;</p>"},{"id":"text-259","type":"text","heading":"","plain_text":"Using parallelism speeds up the creation of the table, because the database uses parallel execution servers to create the table. After the table is created, querying the table is also faster, because the same degree of parallelism is used to access the table.\nNOPARALLEL Example The following statement creates the same table serially. Subsequent DML and queries on the table will also be serially executed.","html":"<p>Using parallelism speeds up the creation of the table, because the database uses parallel execution servers to create the table. After the table is created, querying the table is also faster, because the same degree of parallelism is used to access the table.\nNOPARALLEL Example The following statement creates the same table serially. Subsequent DML and queries on the table will also be serially executed.</p>"},{"id":"text-260","type":"text","heading":"","plain_text":"CREATE TABLE dept_80\n   AS SELECT * FROM employees\n   WHERE department_id = 80;","html":"<p>CREATE TABLE dept_80\n   AS SELECT * FROM employees\n   WHERE department_id = 80;</p>"},{"id":"text-261","type":"text","heading":"","plain_text":"ENABLE VALIDATE Example The following statement shows how the sample table departments was created. The example defines a NE PAS NULL constraint, and places it in ENABLE VALIDATE Etat. A hypothetical name is given to the table so that you can duplicate this example in your test database:","html":"<p>ENABLE VALIDATE Example The following statement shows how the sample table departments was created. The example defines a NE PAS NULL constraint, and places it in ENABLE VALIDATE Etat. A hypothetical name is given to the table so that you can duplicate this example in your test database:</p>"},{"id":"text-262","type":"text","heading":"","plain_text":"CREATE TABLE departments_demo\n    ( department_id    NUMBER(4)\n    , department_name  VARCHAR2(30)\n           CONSTRAINT  dept_name_nn  NOT NULL\n    , manager_id       NUMBER(6)\n    , location_id      NUMBER(4)\n    , dn               VARCHAR2(300)\n    ) ;","html":"<p>CREATE TABLE departments_demo\n    ( department_id    NUMBER(4)\n    , department_name  VARCHAR2(30)\n           CONSTRAINT  dept_name_nn  NOT NULL\n    , manager_id       NUMBER(6)\n    , location_id      NUMBER(4)\n    , dn               VARCHAR2(300)\n    ) ;</p>"},{"id":"text-263","type":"text","heading":"","plain_text":"DISABLE Example The following statement creates the same departments_demo table but also defines a disabled primary key constraint:","html":"<p>DISABLE Example The following statement creates the same departments_demo table but also defines a disabled primary key constraint:</p>"},{"id":"text-264","type":"text","heading":"","plain_text":"CREATE TABLE departments_demo\n    ( department_id    NUMBER(4)   PRIMARY KEY DISABLE\n    , department_name  VARCHAR2(30)\n           CONSTRAINT  dept_name_nn  NOT NULL\n    , manager_id       NUMBER(6)\n    , location_id      NUMBER(4)\n    , dn               VARCHAR2(300)\n    ) ;","html":"<p>CREATE TABLE departments_demo\n    ( department_id    NUMBER(4)   PRIMARY KEY DISABLE\n    , department_name  VARCHAR2(30)\n           CONSTRAINT  dept_name_nn  NOT NULL\n    , manager_id       NUMBER(6)\n    , location_id      NUMBER(4)\n    , dn               VARCHAR2(300)\n    ) ;</p>"},{"id":"text-265","type":"text","heading":"","plain_text":"Nested Table Example The following statement shows how the sample table pm.print_media was created with a nested table column ad_textdocs_ntab:","html":"<p>Nested Table Example The following statement shows how the sample table pm.print_media was created with a nested table column ad_textdocs_ntab:</p>"},{"id":"text-266","type":"text","heading":"","plain_text":"CREATE TABLE print_media\n    ( product_id        NUMBER(6)\n    , ad_id             NUMBER(6)\n    , ad_composite      BLOB\n    , ad_sourcetext     CLOB\n    , ad_finaltext      CLOB\n    , ad_fltextn        NCLOB\n    , ad_textdocs_ntab  textdoc_tab\n    , ad_photo          BLOB\n    , ad_graphic        BFILE\n    , ad_header         adheader_typ\n    ) NESTED TABLE ad_textdocs_ntab STORE AS textdocs_nestedtab;","html":"<p>CREATE TABLE print_media\n    ( product_id        NUMBER(6)\n    , ad_id             NUMBER(6)\n    , ad_composite      BLOB\n    , ad_sourcetext     CLOB\n    , ad_finaltext      CLOB\n    , ad_fltextn        NCLOB\n    , ad_textdocs_ntab  textdoc_tab\n    , ad_photo          BLOB\n    , ad_graphic        BFILE\n    , ad_header         adheader_typ\n    ) NESTED TABLE ad_textdocs_ntab STORE AS textdocs_nestedtab;</p>"},{"id":"text-267","type":"text","heading":"","plain_text":"Multi-level Collection Example The following example shows how an account manager might create a table of customers using two levels of nested tables:","html":"<p>Multi-level Collection Example The following example shows how an account manager might create a table of customers using two levels of nested tables:</p>"},{"id":"text-268","type":"text","heading":"","plain_text":"CREATE TYPE phone AS OBJECT (telephone NUMBER);\n/\nCREATE TYPE phone_list AS TABLE OF phone;\n/\nCREATE TYPE my_customers AS OBJECT (\n   cust_name VARCHAR2(25),\n   phones phone_list);\n/\nCREATE TYPE customer_list AS TABLE OF my_customers;\n/\nCREATE TABLE business_contacts (\n   company_name VARCHAR2(25),\n   company_reps customer_list)\n   NESTED TABLE company_reps STORE AS outer_ntab\n   (NESTED TABLE phones STORE AS inner_ntab);","html":"<p>CREATE TYPE phone AS OBJECT (telephone NUMBER);\n/\nCREATE TYPE phone_list AS TABLE OF phone;\n/\nCREATE TYPE my_customers AS OBJECT (\n   cust_name VARCHAR2(25),\n   phones phone_list);\n/\nCREATE TYPE customer_list AS TABLE OF my_customers;\n/\nCREATE TABLE business_contacts (\n   company_name VARCHAR2(25),\n   company_reps customer_list)\n   NESTED TABLE company_reps STORE AS outer_ntab\n   (NESTED TABLE phones STORE AS inner_ntab);</p>"},{"id":"text-269","type":"text","heading":"","plain_text":"The following variation of this example shows how to use the COLUMN_VALUE keyword if the inner nested table has no column or attribute name:","html":"<p>The following variation of this example shows how to use the COLUMN_VALUE keyword if the inner nested table has no column or attribute name:</p>"},{"id":"text-270","type":"text","heading":"","plain_text":"CREATE TYPE phone AS TABLE OF NUMBER;    \n/\nCREATE TYPE phone_list AS TABLE OF phone;\n/\nCREATE TABLE my_customers (\n   name VARCHAR2(25),\n   phone_numbers phone_list)\n   NESTED TABLE phone_numbers STORE AS outer_ntab\n   (NESTED TABLE COLUMN_VALUE STORE AS inner_ntab);","html":"<p>CREATE TYPE phone AS TABLE OF NUMBER;    \n/\nCREATE TYPE phone_list AS TABLE OF phone;\n/\nCREATE TABLE my_customers (\n   name VARCHAR2(25),\n   phone_numbers phone_list)\n   NESTED TABLE phone_numbers STORE AS outer_ntab\n   (NESTED TABLE COLUMN_VALUE STORE AS inner_ntab);</p>"},{"id":"text-271","type":"text","heading":"","plain_text":"LOB Column Example The following statement is a variation of the statement that created the pm.print_media table with some added LOB storage characteristics:","html":"<p>LOB Column Example The following statement is a variation of the statement that created the pm.print_media table with some added LOB storage characteristics:</p>"},{"id":"text-272","type":"text","heading":"","plain_text":"CREATE TABLE print_media_new\n    ( product_id        NUMBER(6)\n    , ad_id             NUMBER(6)\n    , ad_composite      BLOB\n    , ad_sourcetext     CLOB\n    , ad_finaltext      CLOB\n    , ad_fltextn        NCLOB\n    , ad_textdocs_ntab  textdoc_tab\n    , ad_photo          BLOB\n    , ad_graphic        BFILE\n    , ad_header         adheader_typ\n    , press_release     LONG\n    ) NESTED TABLE ad_textdocs_ntab STORE AS textdocs_nestedtab_new\n    LOB (ad_sourcetext, ad_finaltext) STORE AS\n      (TABLESPACE example\n       STORAGE (INITIAL 6144 NEXT 6144)\n       CHUNK 4000\n       NOCACHE LOGGING);","html":"<p>CREATE TABLE print_media_new\n    ( product_id        NUMBER(6)\n    , ad_id             NUMBER(6)\n    , ad_composite      BLOB\n    , ad_sourcetext     CLOB\n    , ad_finaltext      CLOB\n    , ad_fltextn        NCLOB\n    , ad_textdocs_ntab  textdoc_tab\n    , ad_photo          BLOB\n    , ad_graphic        BFILE\n    , ad_header         adheader_typ\n    , press_release     LONG\n    ) NESTED TABLE ad_textdocs_ntab STORE AS textdocs_nestedtab_new\n    LOB (ad_sourcetext, ad_finaltext) STORE AS\n      (TABLESPACE example\n       STORAGE (INITIAL 6144 NEXT 6144)\n       CHUNK 4000\n       NOCACHE LOGGING);</p>"},{"id":"text-273","type":"text","heading":"","plain_text":"In the example, the database rounds the value of CHUNK up to 4096 (the nearest multiple of the block size of 2048).\nIndex-Organized Table Example The following statement is a variation of the sample table hr.countries, which is index organized:","html":"<p>In the example, the database rounds the value of CHUNK up to 4096 (the nearest multiple of the block size of 2048).\nIndex-Organized Table Example The following statement is a variation of the sample table hr.countries, which is index organized:</p>"},{"id":"text-274","type":"text","heading":"","plain_text":"CREATE TABLE countries_demo\n    ( country_id      CHAR(2)\n      CONSTRAINT country_id_nn_demo NOT NULL\n    , country_name    VARCHAR2(40)\n    , currency_name   VARCHAR2(25)\n    , currency_symbol VARCHAR2(3)\n    , region          VARCHAR2(15)\n    , CONSTRAINT    country_c_id_pk_demo\n                    PRIMARY KEY (country_id ) )\n    ORGANIZATION INDEX \n    INCLUDING   country_name \n    PCTTHRESHOLD 2 \n    ESPACE DE RANGEMENT\n     ( INITIAL  4K \n      NEXT  2K \n      PCTINCREASE 0 \n      MINEXTENTS 1 \n      MAXEXTENTS 1 ) \n   OVERFLOW \n    ESPACE DE RANGEMENT\n      ( INITIAL  4K \n        NEXT  2K \n        PCTINCREASE 0 \n        MINEXTENTS 1 \n        MAXEXTENTS 1 );","html":"<p>CREATE TABLE countries_demo\n    ( country_id      CHAR(2)\n      CONSTRAINT country_id_nn_demo NOT NULL\n    , country_name    VARCHAR2(40)\n    , currency_name   VARCHAR2(25)\n    , currency_symbol VARCHAR2(3)\n    , region          VARCHAR2(15)\n    , CONSTRAINT    country_c_id_pk_demo\n                    PRIMARY KEY (country_id ) )\n    ORGANIZATION INDEX \n    INCLUDING   country_name \n    PCTTHRESHOLD 2 \n    ESPACE DE RANGEMENT\n     ( INITIAL  4K \n      NEXT  2K \n      PCTINCREASE 0 \n      MINEXTENTS 1 \n      MAXEXTENTS 1 ) \n   OVERFLOW \n    ESPACE DE RANGEMENT\n      ( INITIAL  4K \n        NEXT  2K \n        PCTINCREASE 0 \n        MINEXTENTS 1 \n        MAXEXTENTS 1 );</p>"},{"id":"text-275","type":"text","heading":"","plain_text":"External Table Example The following statement creates an external table that represents a subset of the sample table hr.departments. le opaque_format_spec    is shown in italics. Please refer to Oracle Database Utilities for information on the ORACLE_LOADER access driver and how to specify values for the opaque_format_spec.","html":"<p>External Table Example The following statement creates an external table that represents a subset of the sample table hr.departments. le opaque_format_spec    is shown in italics. Please refer to Oracle Database Utilities for information on the ORACLE_LOADER access driver and how to specify values for the opaque_format_spec.</p>"},{"id":"text-276","type":"text","heading":"","plain_text":"CREATE TABLE dept_external (\n   deptno     NUMBER(6),\n   dname      VARCHAR2(20),\n   loc        VARCHAR2(25) \n)\nORGANIZATION EXTERNAL\n(TYPE oracle_loader\n DEFAULT DIRECTORY admin\n ACCESS PARAMETERS\n (\n  RECORDS DELIMITED BY newline\n        BADFILE &#39;ulcase1.bad&#39;\n        DISCARDFILE &#39;ulcase1.dis&#39;\n        LOGFILE &#39;ulcase1.log&#39;\n        SKIP 20\n        FIELDS TERMINATED BY &quot;,&quot;  OPTIONALLY ENCLOSED BY &#39;&quot;&#39;\n        (\n            deptno     INTEGER EXTERNAL(6),\n            dname      CHAR(20),\n            loc        CHAR(25)\n  )\n )\n LOCATION (&#39;ulcase1.ctl&#39;)\n)\nREJECT LIMIT UNLIMITED;","html":"<p>CREATE TABLE dept_external (\n   deptno     NUMBER(6),\n   dname      VARCHAR2(20),\n   loc        VARCHAR2(25) \n)\nORGANIZATION EXTERNAL\n(TYPE oracle_loader\n DEFAULT DIRECTORY admin\n ACCESS PARAMETERS\n (\n  RECORDS DELIMITED BY newline\n        BADFILE &#039;ulcase1.bad&#039;\n        DISCARDFILE &#039;ulcase1.dis&#039;\n        LOGFILE &#039;ulcase1.log&#039;\n        SKIP 20\n        FIELDS TERMINATED BY &quot;,&quot;  OPTIONALLY ENCLOSED BY &#039;&quot;&#039;\n        (\n            deptno     INTEGER EXTERNAL(6),\n            dname      CHAR(20),\n            loc        CHAR(25)\n  )\n )\n LOCATION (&#039;ulcase1.ctl&#039;)\n)\nREJECT LIMIT UNLIMITED;</p>"},{"id":"text-277","type":"text","heading":"","plain_text":"XMLType Examples\nThis section contains brief examples of creating an XMLType table or XMLType column. For a more expanded version of these examples, please refer to &quot;Using XML in SQL Statements&quot;.\nXMLType Table Examples The following example creates a very simple XMLType table with one implicit CLOB column:","html":"<p>XMLType Examples\nThis section contains brief examples of creating an XMLType table or XMLType column. For a more expanded version of these examples, please refer to &quot;Using XML in SQL Statements&quot;.\nXMLType Table Examples The following example creates a very simple XMLType table with one implicit CLOB column:</p>"},{"id":"text-278","type":"text","heading":"","plain_text":"CREATE TABLE xwarehouses OF XMLTYPE;","html":"<p>CREATE TABLE xwarehouses OF XMLTYPE;</p>"},{"id":"text-279","type":"text","heading":"","plain_text":"Because Oracle Database implicitly stores the data in a CLOB column, it is subject to all of the restrictions on LOB columns. To avoid these restrictions, you can create an XMLSchema-based table, as shown in the following example. The XMLSchema must already have been created (see &quot;Using XML in SQL Statements&quot; for more information):","html":"<p>Because Oracle Database implicitly stores the data in a CLOB column, it is subject to all of the restrictions on LOB columns. To avoid these restrictions, you can create an XMLSchema-based table, as shown in the following example. The XMLSchema must already have been created (see &quot;Using XML in SQL Statements&quot; for more information):</p>"},{"id":"text-280","type":"text","heading":"","plain_text":"CREATE TABLE xwarehouses OF XMLTYPE\n   XMLSCHEMA &quot;http://www.oracle.com/xwarehouses.xsd&quot;\n   ELEMENT &quot;Warehouse&quot;;","html":"<p>CREATE TABLE xwarehouses OF XMLTYPE\n   XMLSCHEMA &quot;http://www.oracle.com/xwarehouses.xsd&quot;\n   ELEMENT &quot;Warehouse&quot;;</p>"},{"id":"text-281","type":"text","heading":"","plain_text":"You can define constraints on an XMLSchema-based table, and you can also create indexes on XMLSchema-based tables, which greatly enhance subsequent queries. You can create object-relational views on XMLType tables, and you can create XMLType views on object-relational tables.\nXMLType Column Examples The following example creates a table with an XMLType column stored as a CLOB. This table does not require an XMLSchema, so the content structure is not predetermined:","html":"<p>You can define constraints on an XMLSchema-based table, and you can also create indexes on XMLSchema-based tables, which greatly enhance subsequent queries. You can create object-relational views on XMLType tables, and you can create XMLType views on object-relational tables.\nXMLType Column Examples The following example creates a table with an XMLType column stored as a CLOB. This table does not require an XMLSchema, so the content structure is not predetermined:</p>"},{"id":"text-282","type":"text","heading":"","plain_text":"CREATE TABLE xwarehouses (\n   warehouse_id        NUMBER,\n   warehouse_spec      XMLTYPE)\n   XMLTYPE warehouse_spec STORE AS CLOB\n   (TABLESPACE example\n    STORAGE (INITIAL 6144 NEXT 6144)\n    CHUNK 4000\n    NOCACHE LOGGING);","html":"<p>CREATE TABLE xwarehouses (\n   warehouse_id        NUMBER,\n   warehouse_spec      XMLTYPE)\n   XMLTYPE warehouse_spec STORE AS CLOB\n   (TABLESPACE example\n    STORAGE (INITIAL 6144 NEXT 6144)\n    CHUNK 4000\n    NOCACHE LOGGING);</p>"},{"id":"text-283","type":"text","heading":"","plain_text":"The following example creates a similar table, but stores XMLType data in an object relational XMLType column whose structure is determined by the specified schema:","html":"<p>The following example creates a similar table, but stores XMLType data in an object relational XMLType column whose structure is determined by the specified schema:</p>"},{"id":"text-284","type":"text","heading":"","plain_text":"CREATE TABLE xwarehouses (\n   warehouse_id    NUMBER,\n   warehouse_spec  XMLTYPE)\n   XMLTYPE warehouse_spec STORE AS OBJECT RELATIONAL\n      XMLSCHEMA &quot;http://www.oracle.com/xwarehouses.xsd&quot;\n      ELEMENT &quot;Warehouse&quot;;","html":"<p>CREATE TABLE xwarehouses (\n   warehouse_id    NUMBER,\n   warehouse_spec  XMLTYPE)\n   XMLTYPE warehouse_spec STORE AS OBJECT RELATIONAL\n      XMLSCHEMA &quot;http://www.oracle.com/xwarehouses.xsd&quot;\n      ELEMENT &quot;Warehouse&quot;;</p>"},{"id":"text-285","type":"text","heading":"","plain_text":"Partitioning Examples\nRange Partitioning Example le Ventes table in the sample schema sh is partitioned by range. The following example shows an abbreviated variation of the Ventes table. Constraints and storage elements have been omitted from the example.","html":"<p>Partitioning Examples\nRange Partitioning Example le Ventes table in the sample schema sh is partitioned by range. The following example shows an abbreviated variation of the Ventes table. Constraints and storage elements have been omitted from the example.</p>"},{"id":"text-286","type":"text","heading":"","plain_text":"CREATE TABLE range_sales\n    ( prod_id        NUMBER(6)\n    , cust_id        NUMBER\n    , time_id        DATE\n    , channel_id     CHAR(1)\n    , promo_id       NUMBER(6)\n    , quantity_sold  NUMBER(3)\n    , amount_sold         NUMBER(10,2)\n    )\nPARTITION BY RANGE (time_id)\n  (PARTITION SALES_Q1_1998 VALUES LESS THAN (TO_DATE(&#39;01-APR-1998&#39;,&#39;DD-MON-YYYY&#39;)),\n   PARTITION SALES_Q2_1998 VALUES LESS THAN (TO_DATE(&#39;01-JUL-1998&#39;,&#39;DD-MON-YYYY&#39;)),\n   PARTITION SALES_Q3_1998 VALUES LESS THAN (TO_DATE(&#39;01-OCT-1998&#39;,&#39;DD-MON-YYYY&#39;)),\n   PARTITION SALES_Q4_1998 VALUES LESS THAN (TO_DATE(&#39;01-JAN-1999&#39;,&#39;DD-MON-YYYY&#39;)),\n   PARTITION SALES_Q1_1999 VALUES LESS THAN (TO_DATE(&#39;01-APR-1999&#39;,&#39;DD-MON-YYYY&#39;)),\n   PARTITION SALES_Q2_1999 VALUES LESS THAN (TO_DATE(&#39;01-JUL-1999&#39;,&#39;DD-MON-YYYY&#39;)),\n   PARTITION SALES_Q3_1999 VALUES LESS THAN (TO_DATE(&#39;01-OCT-1999&#39;,&#39;DD-MON-YYYY&#39;)),\n   PARTITION SALES_Q4_1999 VALUES LESS THAN (TO_DATE(&#39;01-JAN-2000&#39;,&#39;DD-MON-YYYY&#39;)),\n   PARTITION SALES_Q1_2000 VALUES LESS THAN (TO_DATE(&#39;01-APR-2000&#39;,&#39;DD-MON-YYYY&#39;)),\n   PARTITION SALES_Q2_2000 VALUES LESS THAN (TO_DATE(&#39;01-JUL-2000&#39;,&#39;DD-MON-YYYY&#39;)),\n   PARTITION SALES_Q3_2000 VALUES LESS THAN (TO_DATE(&#39;01-OCT-2000&#39;,&#39;DD-MON-YYYY&#39;)),\n   PARTITION SALES_Q4_2000 VALUES LESS THAN (MAXVALUE))\n;","html":"<p>CREATE TABLE range_sales\n    ( prod_id        NUMBER(6)\n    , cust_id        NUMBER\n    , time_id        DATE\n    , channel_id     CHAR(1)\n    , promo_id       NUMBER(6)\n    , quantity_sold  NUMBER(3)\n    , amount_sold         NUMBER(10,2)\n    )\nPARTITION BY RANGE (time_id)\n  (PARTITION SALES_Q1_1998 VALUES LESS THAN (TO_DATE(&#039;01-APR-1998&#039;,&#039;DD-MON-YYYY&#039;)),\n   PARTITION SALES_Q2_1998 VALUES LESS THAN (TO_DATE(&#039;01-JUL-1998&#039;,&#039;DD-MON-YYYY&#039;)),\n   PARTITION SALES_Q3_1998 VALUES LESS THAN (TO_DATE(&#039;01-OCT-1998&#039;,&#039;DD-MON-YYYY&#039;)),\n   PARTITION SALES_Q4_1998 VALUES LESS THAN (TO_DATE(&#039;01-JAN-1999&#039;,&#039;DD-MON-YYYY&#039;)),\n   PARTITION SALES_Q1_1999 VALUES LESS THAN (TO_DATE(&#039;01-APR-1999&#039;,&#039;DD-MON-YYYY&#039;)),\n   PARTITION SALES_Q2_1999 VALUES LESS THAN (TO_DATE(&#039;01-JUL-1999&#039;,&#039;DD-MON-YYYY&#039;)),\n   PARTITION SALES_Q3_1999 VALUES LESS THAN (TO_DATE(&#039;01-OCT-1999&#039;,&#039;DD-MON-YYYY&#039;)),\n   PARTITION SALES_Q4_1999 VALUES LESS THAN (TO_DATE(&#039;01-JAN-2000&#039;,&#039;DD-MON-YYYY&#039;)),\n   PARTITION SALES_Q1_2000 VALUES LESS THAN (TO_DATE(&#039;01-APR-2000&#039;,&#039;DD-MON-YYYY&#039;)),\n   PARTITION SALES_Q2_2000 VALUES LESS THAN (TO_DATE(&#039;01-JUL-2000&#039;,&#039;DD-MON-YYYY&#039;)),\n   PARTITION SALES_Q3_2000 VALUES LESS THAN (TO_DATE(&#039;01-OCT-2000&#039;,&#039;DD-MON-YYYY&#039;)),\n   PARTITION SALES_Q4_2000 VALUES LESS THAN (MAXVALUE))\n;</p>"},{"id":"text-287","type":"text","heading":"","plain_text":"For information about partitioned table maintenance operations, see Oracle Database Administrator&#39;s Guide.\nList Partitioning Example The following statement shows how the sample table oe.customers might have been created as a list-partitioned table. Some columns and all constraints of the sample table have been omitted in this example.","html":"<p>For information about partitioned table maintenance operations, see Oracle Database Administrator&#039;s Guide.\nList Partitioning Example The following statement shows how the sample table oe.customers might have been created as a list-partitioned table. Some columns and all constraints of the sample table have been omitted in this example.</p>"},{"id":"text-288","type":"text","heading":"","plain_text":"CREATE TABLE list_customers \n   ( customer_id             NUMBER(6)\n   , cust_first_name         VARCHAR2(20) \n   , cust_last_name          VARCHAR2(20)\n   , cust_address            CUST_ADDRESS_TYP\n   , nls_territory           VARCHAR2(30)\n   , cust_email              VARCHAR2(30))\n   PARTITION BY LIST (nls_territory) (\n   PARTITION asia VALUES (&#39;CHINA&#39;, &#39;THAILAND&#39;),\n   PARTITION europe VALUES (&#39;GERMANY&#39;, &#39;ITALY&#39;, &#39;SWITZERLAND&#39;),\n   PARTITION west VALUES (&#39;AMERICA&#39;),\n   PARTITION east VALUES (&#39;INDIA&#39;),\n   PARTITION rest VALUES (DEFAULT));","html":"<p>CREATE TABLE list_customers \n   ( customer_id             NUMBER(6)\n   , cust_first_name         VARCHAR2(20) \n   , cust_last_name          VARCHAR2(20)\n   , cust_address            CUST_ADDRESS_TYP\n   , nls_territory           VARCHAR2(30)\n   , cust_email              VARCHAR2(30))\n   PARTITION BY LIST (nls_territory) (\n   PARTITION asia VALUES (&#039;CHINA&#039;, &#039;THAILAND&#039;),\n   PARTITION europe VALUES (&#039;GERMANY&#039;, &#039;ITALY&#039;, &#039;SWITZERLAND&#039;),\n   PARTITION west VALUES (&#039;AMERICA&#039;),\n   PARTITION east VALUES (&#039;INDIA&#039;),\n   PARTITION rest VALUES (DEFAULT));</p>"},{"id":"text-289","type":"text","heading":"","plain_text":"Partitioned Table with LOB Columns Example This statement creates a partitioned table print_media_demo with two partitions p1 et p2, and a number of LOB columns. The statement uses the sample table pm.print_media, but the LONG colonne press_release is omitted because LONG columns are not supported in partitioning.","html":"<p>Partitioned Table with LOB Columns Example This statement creates a partitioned table print_media_demo with two partitions p1 et p2, and a number of LOB columns. The statement uses the sample table pm.print_media, but the LONG colonne press_release is omitted because LONG columns are not supported in partitioning.</p>"},{"id":"text-290","type":"text","heading":"","plain_text":"CREATE TABLE print_media_demo\n   ( product_id NUMBER(6)\n   , ad_id NUMBER(6)\n   , ad_composite BLOB\n   , ad_sourcetext CLOB\n   , ad_finaltext CLOB\n   , ad_fltextn NCLOB\n   , ad_textdocs_ntab textdoc_tab\n   , ad_photo BLOB\n   , ad_graphic BFILE\n   , ad_header adheader_typ\n   ) NESTED TABLE ad_textdocs_ntab STORE AS textdocs_nestedtab_demo\n      LOB (ad_composite, ad_photo, ad_finaltext)\n      STORE AS(STORAGE (NEXT 20M))\n   PARTITION BY RANGE (product_id)\n      (PARTITION p1 VALUES LESS THAN (3000) TABLESPACE tbs_01\n         LOB (ad_composite, ad_photo)\n         STORE AS (TABLESPACE tbs_02 STORAGE (INITIAL 10M)),\n       PARTITION P2 VALUES LESS THAN (MAXVALUE)\n         LOB (ad_composite, ad_finaltext)\n         STORE AS (TABLESPACE tbs_03)\n       )\n   TABLESPACE tbs_04;","html":"<p>CREATE TABLE print_media_demo\n   ( product_id NUMBER(6)\n   , ad_id NUMBER(6)\n   , ad_composite BLOB\n   , ad_sourcetext CLOB\n   , ad_finaltext CLOB\n   , ad_fltextn NCLOB\n   , ad_textdocs_ntab textdoc_tab\n   , ad_photo BLOB\n   , ad_graphic BFILE\n   , ad_header adheader_typ\n   ) NESTED TABLE ad_textdocs_ntab STORE AS textdocs_nestedtab_demo\n      LOB (ad_composite, ad_photo, ad_finaltext)\n      STORE AS(STORAGE (NEXT 20M))\n   PARTITION BY RANGE (product_id)\n      (PARTITION p1 VALUES LESS THAN (3000) TABLESPACE tbs_01\n         LOB (ad_composite, ad_photo)\n         STORE AS (TABLESPACE tbs_02 STORAGE (INITIAL 10M)),\n       PARTITION P2 VALUES LESS THAN (MAXVALUE)\n         LOB (ad_composite, ad_finaltext)\n         STORE AS (TABLESPACE tbs_03)\n       )\n   TABLESPACE tbs_04;</p>"},{"id":"text-291","type":"text","heading":"","plain_text":"Partition p1 will be in tablespace tbs_1. The LOB data partitions for ad_composite et ad_photo will be in tablespace tbs_2. The LOB data partition for the remaining LOB columns will be in tablespace tbs_1. The storage attribute INITIAL is specified for LOB columns ad_composite et ad_photo. Other attributes will be inherited from the default table-level specification. The default LOB storage attributes not specified at the table level will be inherited from the tablespace tbs_2 for columns ad_composite et ad_photo and from tablespace tbs_1 for the remaining LOB columns. LOB index partitions will be in the same tablespaces as the corresponding LOB data partitions. Other storage attributes will be based on values of the corresponding attributes of the LOB data partitions and default attributes of the tablespace where the index partitions reside.\nPartition p2 will be in the default tablespace tbs_4. The LOB data for ad_composite et ad_finaltext will be in tablespace tbs_3. The LOB data for the remaining LOB columns will be in tablespace tbs_4. The LOB index for columns ad_composite et ad_finaltext will be in tablespace tbs_3. The LOB index for the remaining LOB columns will be in tablespace tbs_4.\nHash Partitioning Example The sample table oe.product_information is not partitioned. However, you might want to partition such a large table by hash for performance reasons, as shown in this example. The tablespace names are hypothetical in this example.","html":"<p>Partition p1 will be in tablespace tbs_1. The LOB data partitions for ad_composite et ad_photo will be in tablespace tbs_2. The LOB data partition for the remaining LOB columns will be in tablespace tbs_1. The storage attribute INITIAL is specified for LOB columns ad_composite et ad_photo. Other attributes will be inherited from the default table-level specification. The default LOB storage attributes not specified at the table level will be inherited from the tablespace tbs_2 for columns ad_composite et ad_photo and from tablespace tbs_1 for the remaining LOB columns. LOB index partitions will be in the same tablespaces as the corresponding LOB data partitions. Other storage attributes will be based on values of the corresponding attributes of the LOB data partitions and default attributes of the tablespace where the index partitions reside.\nPartition p2 will be in the default tablespace tbs_4. The LOB data for ad_composite et ad_finaltext will be in tablespace tbs_3. The LOB data for the remaining LOB columns will be in tablespace tbs_4. The LOB index for columns ad_composite et ad_finaltext will be in tablespace tbs_3. The LOB index for the remaining LOB columns will be in tablespace tbs_4.\nHash Partitioning Example The sample table oe.product_information is not partitioned. However, you might want to partition such a large table by hash for performance reasons, as shown in this example. The tablespace names are hypothetical in this example.</p>"},{"id":"text-292","type":"text","heading":"","plain_text":"CREATE TABLE hash_products \n    ( product_id          NUMBER(6) \n    , product_name        VARCHAR2(50) \n    , product_description VARCHAR2(2000) \n    , category_id         NUMBER(2) \n    , weight_class        NUMBER(1) \n    , warranty_period     INTERVAL YEAR TO MONTH \n    , supplier_id         NUMBER(6) \n    , product_status      VARCHAR2(20) \n    , list_price          NUMBER(8,2) \n    , min_price           NUMBER(8,2) \n    , catalog_url         VARCHAR2(50) \n    , CONSTRAINT          product_status_lov_demo \n                          CHECK (product_status in (&#39;orderable&#39; \n                                                  ,&#39;planned&#39; \n                                                  ,&#39;under development&#39; \n                                                  ,&#39;obsolete&#39;) \n ) ) \n PARTITION BY HASH (product_id) \n PARTITIONS 5 \n STORE IN (tbs_01, tbs_02, tbs_03, tbs_04);","html":"<p>CREATE TABLE hash_products \n    ( product_id          NUMBER(6) \n    , product_name        VARCHAR2(50) \n    , product_description VARCHAR2(2000) \n    , category_id         NUMBER(2) \n    , weight_class        NUMBER(1) \n    , warranty_period     INTERVAL YEAR TO MONTH \n    , supplier_id         NUMBER(6) \n    , product_status      VARCHAR2(20) \n    , list_price          NUMBER(8,2) \n    , min_price           NUMBER(8,2) \n    , catalog_url         VARCHAR2(50) \n    , CONSTRAINT          product_status_lov_demo \n                          CHECK (product_status in (&#039;orderable&#039; \n                                                  ,&#039;planned&#039; \n                                                  ,&#039;under development&#039; \n                                                  ,&#039;obsolete&#039;) \n ) ) \n PARTITION BY HASH (product_id) \n PARTITIONS 5 \n STORE IN (tbs_01, tbs_02, tbs_03, tbs_04);</p>"},{"id":"text-293","type":"text","heading":"","plain_text":"Composite-Partitioned Table Examples The table created in the &quot;Range Partitioning Example&quot; divides data by time of sale. If you plan to access recent data according to distribution channel as well as time, then composite partitioning might be more appropriate. The following example creates a copy of that range_sales table but specifies range-hash composite partitioning. The partitions with the most recent data are subpartitioned with both system-generated and user-defined subpartition names. Constraints and storage attributes have been omitted from the example.","html":"<p>Composite-Partitioned Table Examples The table created in the &quot;Range Partitioning Example&quot; divides data by time of sale. If you plan to access recent data according to distribution channel as well as time, then composite partitioning might be more appropriate. The following example creates a copy of that range_sales table but specifies range-hash composite partitioning. The partitions with the most recent data are subpartitioned with both system-generated and user-defined subpartition names. Constraints and storage attributes have been omitted from the example.</p>"},{"id":"text-294","type":"text","heading":"","plain_text":"CREATE TABLE composite_sales\n    ( prod_id        NUMBER(6)\n    , cust_id        NUMBER\n    , time_id        DATE\n    , channel_id     CHAR(1)\n    , promo_id       NUMBER(6)\n    , quantity_sold  NUMBER(3)\n    , amount_sold         NUMBER(10,2)\n    )\nPARTITION BY RANGE (time_id)\nSUBPARTITION BY HASH (channel_id)\n  (PARTITION SALES_Q1_1998 VALUES LESS THAN (TO_DATE(&#39;01-APR-1998&#39;,&#39;DD-MON-YYYY&#39;)),\n   PARTITION SALES_Q2_1998 VALUES LESS THAN (TO_DATE(&#39;01-JUL-1998&#39;,&#39;DD-MON-YYYY&#39;)),\n   PARTITION SALES_Q3_1998 VALUES LESS THAN (TO_DATE(&#39;01-OCT-1998&#39;,&#39;DD-MON-YYYY&#39;)),\n   PARTITION SALES_Q4_1998 VALUES LESS THAN (TO_DATE(&#39;01-JAN-1999&#39;,&#39;DD-MON-YYYY&#39;)),\n   PARTITION SALES_Q1_1999 VALUES LESS THAN (TO_DATE(&#39;01-APR-1999&#39;,&#39;DD-MON-YYYY&#39;)),\n   PARTITION SALES_Q2_1999 VALUES LESS THAN (TO_DATE(&#39;01-JUL-1999&#39;,&#39;DD-MON-YYYY&#39;)),\n   PARTITION SALES_Q3_1999 VALUES LESS THAN (TO_DATE(&#39;01-OCT-1999&#39;,&#39;DD-MON-YYYY&#39;)),\n   PARTITION SALES_Q4_1999 VALUES LESS THAN (TO_DATE(&#39;01-JAN-2000&#39;,&#39;DD-MON-YYYY&#39;)),\n   PARTITION SALES_Q1_2000 VALUES LESS THAN (TO_DATE(&#39;01-APR-2000&#39;,&#39;DD-MON-YYYY&#39;)),\n   PARTITION SALES_Q2_2000 VALUES LESS THAN (TO_DATE(&#39;01-JUL-2000&#39;,&#39;DD-MON-YYYY&#39;))\n      SUBPARTITIONS 8,\n   PARTITION SALES_Q3_2000 VALUES LESS THAN (TO_DATE(&#39;01-OCT-2000&#39;,&#39;DD-MON-YYYY&#39;))\n     (SUBPARTITION ch_c,\n      SUBPARTITION ch_i,\n      SUBPARTITION ch_p,\n      SUBPARTITION ch_s,\n      SUBPARTITION ch_t),\n   PARTITION SALES_Q4_2000 VALUES LESS THAN (MAXVALUE)\n      SUBPARTITIONS 4)\n;","html":"<p>CREATE TABLE composite_sales\n    ( prod_id        NUMBER(6)\n    , cust_id        NUMBER\n    , time_id        DATE\n    , channel_id     CHAR(1)\n    , promo_id       NUMBER(6)\n    , quantity_sold  NUMBER(3)\n    , amount_sold         NUMBER(10,2)\n    )\nPARTITION BY RANGE (time_id)\nSUBPARTITION BY HASH (channel_id)\n  (PARTITION SALES_Q1_1998 VALUES LESS THAN (TO_DATE(&#039;01-APR-1998&#039;,&#039;DD-MON-YYYY&#039;)),\n   PARTITION SALES_Q2_1998 VALUES LESS THAN (TO_DATE(&#039;01-JUL-1998&#039;,&#039;DD-MON-YYYY&#039;)),\n   PARTITION SALES_Q3_1998 VALUES LESS THAN (TO_DATE(&#039;01-OCT-1998&#039;,&#039;DD-MON-YYYY&#039;)),\n   PARTITION SALES_Q4_1998 VALUES LESS THAN (TO_DATE(&#039;01-JAN-1999&#039;,&#039;DD-MON-YYYY&#039;)),\n   PARTITION SALES_Q1_1999 VALUES LESS THAN (TO_DATE(&#039;01-APR-1999&#039;,&#039;DD-MON-YYYY&#039;)),\n   PARTITION SALES_Q2_1999 VALUES LESS THAN (TO_DATE(&#039;01-JUL-1999&#039;,&#039;DD-MON-YYYY&#039;)),\n   PARTITION SALES_Q3_1999 VALUES LESS THAN (TO_DATE(&#039;01-OCT-1999&#039;,&#039;DD-MON-YYYY&#039;)),\n   PARTITION SALES_Q4_1999 VALUES LESS THAN (TO_DATE(&#039;01-JAN-2000&#039;,&#039;DD-MON-YYYY&#039;)),\n   PARTITION SALES_Q1_2000 VALUES LESS THAN (TO_DATE(&#039;01-APR-2000&#039;,&#039;DD-MON-YYYY&#039;)),\n   PARTITION SALES_Q2_2000 VALUES LESS THAN (TO_DATE(&#039;01-JUL-2000&#039;,&#039;DD-MON-YYYY&#039;))\n      SUBPARTITIONS 8,\n   PARTITION SALES_Q3_2000 VALUES LESS THAN (TO_DATE(&#039;01-OCT-2000&#039;,&#039;DD-MON-YYYY&#039;))\n     (SUBPARTITION ch_c,\n      SUBPARTITION ch_i,\n      SUBPARTITION ch_p,\n      SUBPARTITION ch_s,\n      SUBPARTITION ch_t),\n   PARTITION SALES_Q4_2000 VALUES LESS THAN (MAXVALUE)\n      SUBPARTITIONS 4)\n;</p>"},{"id":"text-295","type":"text","heading":"","plain_text":"The following examples creates a partitioned table of customers based on the sample table oe.customers. In this example, the table is partitioned on the credit_limit column and list subpartitioned on the nls_territory column. The subpartition template determines the subpartitioning of any subsequently added partitions, unless you override the template by defining individual subpartitions. This composite partitioning makes it possible to query the table based on a credit limit range within a specified region:","html":"<p>The following examples creates a partitioned table of customers based on the sample table oe.customers. In this example, the table is partitioned on the credit_limit column and list subpartitioned on the nls_territory column. The subpartition template determines the subpartitioning of any subsequently added partitions, unless you override the template by defining individual subpartitions. This composite partitioning makes it possible to query the table based on a credit limit range within a specified region:</p>"},{"id":"text-296","type":"text","heading":"","plain_text":"CREATE TABLE customers_part (\n   customer_id        NUMBER(6),\n   cust_first_name    VARCHAR2(20),\n   cust_last_name     VARCHAR2(20),\n   nls_territory      VARCHAR2(30),\n   credit_limit       NUMBER(9,2)) \n   PARTITION BY RANGE (credit_limit)\n   SUBPARTITION BY LIST (nls_territory)\n      SUBPARTITION TEMPLATE \n         (SUBPARTITION east  VALUES \n            (&#39;CHINA&#39;, &#39;JAPAN&#39;, &#39;INDIA&#39;, &#39;THAILAND&#39;),\n          SUBPARTITION west VALUES \n             (&#39;AMERICA&#39;, &#39;GERMANY&#39;, &#39;ITALY&#39;, &#39;SWITZERLAND&#39;),\n          SUBPARTITION other VALUES (DEFAULT))\n      (PARTITION p1 VALUES LESS THAN (1000),\n       PARTITION p2 VALUES LESS THAN (2500),\n       PARTITION p3 VALUES LESS THAN (MAXVALUE));","html":"<p>CREATE TABLE customers_part (\n   customer_id        NUMBER(6),\n   cust_first_name    VARCHAR2(20),\n   cust_last_name     VARCHAR2(20),\n   nls_territory      VARCHAR2(30),\n   credit_limit       NUMBER(9,2)) \n   PARTITION BY RANGE (credit_limit)\n   SUBPARTITION BY LIST (nls_territory)\n      SUBPARTITION TEMPLATE \n         (SUBPARTITION east  VALUES \n            (&#039;CHINA&#039;, &#039;JAPAN&#039;, &#039;INDIA&#039;, &#039;THAILAND&#039;),\n          SUBPARTITION west VALUES \n             (&#039;AMERICA&#039;, &#039;GERMANY&#039;, &#039;ITALY&#039;, &#039;SWITZERLAND&#039;),\n          SUBPARTITION other VALUES (DEFAULT))\n      (PARTITION p1 VALUES LESS THAN (1000),\n       PARTITION p2 VALUES LESS THAN (2500),\n       PARTITION p3 VALUES LESS THAN (MAXVALUE));</p>"},{"id":"text-297","type":"text","heading":"","plain_text":"Object Column and Table Examples\nCreating Object Tables: Examples Consider object type department_typ:","html":"<p>Object Column and Table Examples\nCreating Object Tables: Examples Consider object type department_typ:</p>"},{"id":"text-298","type":"text","heading":"","plain_text":"CREATE TYPE department_typ AS OBJECT\n   ( d_name   VARCHAR2(100), \n     d_address VARCHAR2(200) );\n/","html":"<p>CREATE TYPE department_typ AS OBJECT\n   ( d_name   VARCHAR2(100), \n     d_address VARCHAR2(200) );\n/</p>"},{"id":"text-299","type":"text","heading":"","plain_text":"Object table departments_obj_t holds department objects of type department_typ:","html":"<p>Object table departments_obj_t holds department objects of type department_typ:</p>"},{"id":"text-300","type":"text","heading":"","plain_text":"CREATE TABLE departments_obj_t OF department_typ;","html":"<p>CREATE TABLE departments_obj_t OF department_typ;</p>"},{"id":"text-301","type":"text","heading":"","plain_text":"The following statement creates object table salesreps with a user-defined object type, salesrep_typ:","html":"<p>The following statement creates object table salesreps with a user-defined object type, salesrep_typ:</p>"},{"id":"text-302","type":"text","heading":"","plain_text":"CREATE OR REPLACE TYPE salesrep_typ AS OBJECT\n  ( repId NUMBER,\n    repName VARCHAR2(64));","html":"<p>CREATE OR REPLACE TYPE salesrep_typ AS OBJECT\n  ( repId NUMBER,\n    repName VARCHAR2(64));</p>"},{"id":"text-303","type":"text","heading":"","plain_text":"CREATE TABLE salesreps OF salesrep_typ;","html":"<p>CREATE TABLE salesreps OF salesrep_typ;</p>"},{"id":"text-304","type":"text","heading":"","plain_text":"Creating a Table with a User-Defined Object Identifier: Example This example creates an object type and a corresponding object table whose object identifier is primary key based:","html":"<p>Creating a Table with a User-Defined Object Identifier: Example This example creates an object type and a corresponding object table whose object identifier is primary key based:</p>"},{"id":"text-305","type":"text","heading":"","plain_text":"CREATE TYPE employees_typ AS OBJECT \n   (e_no NUMBER, e_address CHAR(30));\n/","html":"<p>CREATE TYPE employees_typ AS OBJECT \n   (e_no NUMBER, e_address CHAR(30));\n/</p>"},{"id":"text-306","type":"text","heading":"","plain_text":"CREATE TABLE employees_obj_t OF employees_typ (e_no PRIMARY KEY)\n   OBJECT IDENTIFIER IS PRIMARY KEY;","html":"<p>CREATE TABLE employees_obj_t OF employees_typ (e_no PRIMARY KEY)\n   OBJECT IDENTIFIER IS PRIMARY KEY;</p>"},{"id":"text-307","type":"text","heading":"","plain_text":"You can subsequently reference the employees_object_t object table using either inline_ref_constraint    ou out_of_line_ref_constraint    syntax","html":"<p>You can subsequently reference the employees_object_t object table using either inline_ref_constraint    ou out_of_line_ref_constraint    syntax</p>"},{"id":"text-308","type":"text","heading":"","plain_text":"CREATE TABLE departments_t \n   (d_no    NUMBER,\n    mgr_ref REF employees_typ SCOPE IS employees_obj_t);","html":"<p>CREATE TABLE departments_t \n   (d_no    NUMBER,\n    mgr_ref REF employees_typ SCOPE IS employees_obj_t);</p>"},{"id":"text-309","type":"text","heading":"","plain_text":"CREATE TABLE departments_t (\n    d_no NUMBER,\n    mgr_ref REF employees_typ \n       CONSTRAINT mgr_in_emp REFERENCES employees_obj_t);","html":"<p>CREATE TABLE departments_t (\n    d_no NUMBER,\n    mgr_ref REF employees_typ \n       CONSTRAINT mgr_in_emp REFERENCES employees_obj_t);</p>"},{"id":"text-310","type":"text","heading":"","plain_text":"Specifying Constraints on Type Columns: Example The following example shows how to define constraints on attributes of an object type column:","html":"<p>Specifying Constraints on Type Columns: Example The following example shows how to define constraints on attributes of an object type column:</p>"},{"id":"text-311","type":"text","heading":"","plain_text":"CREATE TYPE address_t AS OBJECT\n  ( hno    NUMBER,\n    street VARCHAR2(40),\n    city   VARCHAR2(20),\n    zip    VARCHAR2(5),\n    phone  VARCHAR2(10) );\n/","html":"<p>CREATE TYPE address_t AS OBJECT\n  ( hno    NUMBER,\n    street VARCHAR2(40),\n    city   VARCHAR2(20),\n    zip    VARCHAR2(5),\n    phone  VARCHAR2(10) );\n/</p>"},{"id":"text-312","type":"text","heading":"","plain_text":"CREATE TYPE person AS OBJECT\n  ( name        VARCHAR2(40),\n    dateofbirth DATE,\n    homeaddress address_t,\n    manager     REF person );\n/","html":"<p>CREATE TYPE person AS OBJECT\n  ( name        VARCHAR2(40),\n    dateofbirth DATE,\n    homeaddress address_t,\n    manager     REF person );\n/</p>"},{"id":"text-313","type":"text","heading":"","plain_text":"CREATE TABLE persons OF person\n  ( homeaddress NOT NULL,\n      UNIQUE (homeaddress.phone),\n      CHECK (homeaddress.zip IS NOT NULL),\n      CHECK (homeaddress.city &lt;&gt; &#39;San Francisco&#39;) );","html":"<p>CREATE TABLE persons OF person\n  ( homeaddress NOT NULL,\n      UNIQUE (homeaddress.phone),\n      CHECK (homeaddress.zip IS NOT NULL),\n      CHECK (homeaddress.city &lt;&gt; &#039;San Francisco&#039;) );</p>"},{"id":"text-314","type":"text","heading":"","plain_text":"Click to rate this post!\n                                   \n                               [Total: 0  Average: 0]","html":"<p>Click to rate this post!\n                                   \n                               [Total: 0  Average: 0]</p>"}],"sections":[{"id":"text-1","heading":"Text","content":"Objectif\nNouse le CRÉER TABLE instruction pour créer l’un des types de tables suivants:"},{"id":"text-2","heading":"Text","content":"UNE table relationnelle, qui est la structure de base pour stocker les données utilisateur."},{"id":"text-3","heading":"Text","content":"Un table objet, qui est une table qui utilise un type d’objet pour une définition de colonne. Une table d&#39;objets est explicitement définie pour contenir des instances d&#39;objet d&#39;un type particulier."},{"id":"text-4","heading":"Text","content":"Vous pouvez également créer un type d&#39;objet, puis l&#39;utiliser dans une colonne lors de la création d&#39;une table relationnelle.\nLes tables sont créées sans données sauf si une sous-requête est spécifiée. Vous pouvez ajouter des lignes à une table avec le INSÉRER déclaration. Après avoir créé une table, vous pouvez définir des colonnes, des partitions et des contraintes d’intégrité supplémentaires avec AJOUTER clause de la MODIFIER TABLE déclaration. Vous pouvez modifier la définition d’une colonne ou d’une partition existante avec MODIFIER clause de la MODIFIER TABLE déclaration.\nSujets supplémentaires\nConditions préalables\nPour créer une table relationnelle dans votre propre schéma, vous devez disposer du CRÉER TABLE privilège système. Pour créer une table dans le schéma d’un autre utilisateur, vous devez disposer du CRÉER TOUT TABLE privilège système. De plus, le propriétaire du schéma devant contenir la table doit avoir un quota d’espace sur l’espace de table pour contenir la table ou le ILLIMITÉ TABLESPACE privilège système.\nOutre ces privilèges de table, pour créer une table objet ou une table relationnelle avec une colonne de type objet, le propriétaire de la table doit disposer du EXÉCUTER privilège d&#39;objet afin d&#39;accéder à tous les types référencés par la table, ou vous devez disposer du EXÉCUTER TOUT TYPE privilège système. Ces privilèges doivent être accordés explicitement et non acquis via un rôle.\nDe plus, si le propriétaire de la table a l&#39;intention d&#39;accorder l&#39;accès à la table à d&#39;autres utilisateurs, il doit alors avoir obtenu l&#39;autorisation EXÉCUTER privilège d&#39;objet sur les types référencés AVEC SUBVENTION OPTION, ou avoir le EXÉCUTER TOUT TYPE privilège système AVEC ADMIN OPTION. Sans ces privilèges, le propriétaire de la table ne dispose pas de privilèges suffisants pour accorder l&#39;accès à la table à d&#39;autres utilisateurs.\nPour activer une contrainte de clé unique ou primaire, vous devez disposer des privilèges nécessaires pour créer un index sur la table. Vous avez besoin de ces privilèges, car Oracle Database crée un index sur les colonnes de la clé unique ou primaire du schéma contenant la table.\nPour créer une table externe, vous devez disposer des privilèges de système d&#39;exploitation requis en lecture et en écriture sur les répertoires appropriés du système d&#39;exploitation. Vous devez avoir le LIS privilège object sur l&#39;objet de répertoire de base de données correspondant au répertoire du système d&#39;exploitation dans lequel résident les données externes. Vous devez aussi avoir le ÉCRIRE Privilège d’objet sur le répertoire de la base de données dans lequel les fichiers résideront si vous spécifiez un fichier journal ou un fichier incorrect dans le répertoire. opaque_format_spec    ou si vous déchargez des données dans une table externe à partir d&#39;une table de base de données en spécifiant le COMME sous-requête    clause.\nSyntaxe\ncreate_table:: ="},{"id":"text-5","heading":"Text","content":"Description de l&#39;illustration create_table.gif\n(table_relationnelle:: =, objet_table :: =, XMLType_table :: =)\ntable_relationnelle:: ="},{"id":"text-6","heading":"Text","content":"Description de l&#39;illustration relational_table.gif"},{"id":"text-7","heading":"Text","content":"Remarque:\nChacune des clauses qui suivent le nom de la table est facultative pour toute table relationnelle donnée. Cependant, pour chaque table, vous devez au moins spécifier les noms de colonne et les types de données à l&#39;aide de la commande propriétés_relationnelles    clause ou un COMME sous-requête    clause utilisant la propriétés_table    clause.\n(propriétés_relationnelles:: =, propriétés physiques:: =, propriétés_table:: =)\nobjet_table    :: ="},{"id":"text-8","heading":"Text","content":"Description de l&#39;illustration object_table.gif\n(object_table_substitution :: =, propriétés_objet:: =, oid_clause:: =, oid_index_clause:: =, propriétés physiques:: =, propriétés_table:: =)\nXMLType_table    :: ="},{"id":"text-9","heading":"Text","content":"Description de l&#39;illustration XMLType_table.gif\n(XMLType_storage:: =, XMLSchema_spec:: =, oid_clause:: =, oid_index_clause:: =, propriétés physiques:: =, propriétés_table:: =)\npropriétés_relationnelles:: ="},{"id":"text-10","heading":"Text","content":"Description de l&#39;illustration relational_properties.gif\n(définition_colonne:: =, contrainte:: =, supplemental_logging_props :: =)\ndéfinition_colonne:: ="},{"id":"text-11","heading":"Text","content":"Description de l&#39;illustration column_definition.gif\n(encryption_spec:: =, contrainte:: =)\nencryption_spec:: ="},{"id":"text-12","heading":"Text","content":"Description de l&#39;illustration encryption_spec.gif\nobject_table_substitution    :: ="},{"id":"text-13","heading":"Text","content":"Description de l&#39;illustration object_table_substitution.gif\npropriétés_objet:: ="},{"id":"text-14","heading":"Text","content":"Description de l&#39;illustration object_properties.gif\n(contrainte:: =, supplemental_logging_props :: =)\noid_clause:: ="},{"id":"text-15","heading":"Text","content":"Description de l&#39;illustration oid_clause.gif\noid_index_clause:: ="},{"id":"text-16","heading":"Text","content":"Description de l&#39;illustration oid_index_clause.gif\n(clause_attributs_ physiques:: =)\npropriétés physiques:: ="},{"id":"text-17","heading":"Text","content":"Description de l&#39;illustration physical_properties.gif\n(segment_attributes_clause :: =, compression_table:: =, index_org_table_clause :: =, clause_table_externe :: =)\nsegment_attributes_clause    :: ="},{"id":"text-18","heading":"Text","content":"Description de l&#39;illustration segment_attributes_clause.gif\n(clause_attributs_ physiques:: =, clause_logging:: =)\nclause_attributs_ physiques:: ="},{"id":"text-19","heading":"Text","content":"Description de l&#39;illustration physical_attributes_clause.gif\n(clause_stockage:: =) \ncompression_table:: ="},{"id":"text-20","heading":"Text","content":"Description de l&#39;illustration table_compression.gif\npropriétés_table:: ="},{"id":"text-21","heading":"Text","content":"Description de l&#39;illustration table_properties.gif\n(propriétés de la colonne:: =, clauses_partitionnement_table :: =, clause_parallèle :: =, enable_disable_clause :: =, row_movement_clause :: =, sous-requête:: =)\npropriétés de la colonne:: ="},{"id":"text-22","heading":"Text","content":"Description de l&#39;illustration column_properties.gif\n(object_type_col_properties:: =, nested_table_col_properties :: =, varray_col_properties :: =, LOB_storage_clause:: =, LOB_partition_storage:: =, XMLType_column_properties :: =)\nobject_type_col_properties:: ="},{"id":"text-23","heading":"Text","content":"Description de l&#39;illustration object_type_col_properties.gif\nsubstitutable_column_clause:: ="},{"id":"text-24","heading":"Text","content":"Description de l&#39;illustration substitutable_column_clause.gif\nnested_table_col_properties :: ="},{"id":"text-25","heading":"Text","content":"Description de l&#39;illustration nested_table_col_properties.gif\n(substitutable_column_clause:: =, propriétés_objet:: =, propriétés physiques:: =, propriétés de la colonne:: =)\nvarray_col_properties :: ="},{"id":"text-26","heading":"Text","content":"Description de l&#39;illustration varray_col_properties.gif\n(substitutable_column_clause:: =, LOB_parameters :: =)\nLOB_storage_clause:: ="},{"id":"text-27","heading":"Text","content":"Description de l&#39;illustration LOB_storage_clause.gif\n(LOB_parameters :: =)\nLOB_parameters    :: ="},{"id":"text-28","heading":"Text","content":"Description de l&#39;illustration LOB_parameters.gif\n(clause_stockage:: =)\nclause_logging:: ="},{"id":"text-29","heading":"Text","content":"Description de l&#39;illustration logging_clause.gif\nLOB_partition_storage:: ="},{"id":"text-30","heading":"Text","content":"Description de l&#39;illustration LOB_partition_storage.gif\n(LOB_storage_clause:: =, varray_col_properties :: =)\nXMLType_column_properties    :: ="},{"id":"text-31","heading":"Text","content":"Description de l&#39;illustration XMLType_column_properties.gif\n(XMLType_storage:: =, XMLSchema_spec:: =)\nXMLType_storage:: ="},{"id":"text-32","heading":"Text","content":"Description de l&#39;illustration XMLType_storage.gif\n(LOB_parameters :: =)\nXMLSchema_spec:: ="},{"id":"text-33","heading":"Text","content":"Description de l&#39;illustration XMLSchema_spec.gif\nrow_movement_clause :: ="},{"id":"text-34","heading":"Text","content":"Description de l&#39;illustration row_movement_clause.gif\nindex_org_table_clause :: ="},{"id":"text-35","heading":"Text","content":"Description de l&#39;illustration index_org_table_clause.gif\n(mapping_table_clauses:: =, key_compression :: =, index_org_overflow_clause :: =)\nmapping_table_clauses:: ="},{"id":"text-36","heading":"Text","content":"Description de l&#39;illustration mapping_table_clauses.gif\nkey_compression    :: ="},{"id":"text-37","heading":"Text","content":"Description de l&#39;illustration key_compression.gif\nindex_org_overflow_clause    :: ="},{"id":"text-38","heading":"Text","content":"Description de l&#39;illustration index_org_overflow_clause.gif\n(segment_attributes_clause :: =)\nsupplemental_logging_props    :: ="},{"id":"text-39","heading":"Text","content":"Description de l&#39;illustration supplemental_logging_props.gif\nsupplemental_log_grp_clause:: ="},{"id":"text-40","heading":"Text","content":"Description de l&#39;illustration supplemental_log_grp_clause.gif\nsupplemental_id_key_clause:: ="},{"id":"text-41","heading":"Text","content":"Description de l&#39;illustration supplemental_id_key_clause.gif\nclause_table_externe    :: ="},{"id":"text-42","heading":"Text","content":"Description de l&#39;illustration external_table_clause.gif\n(données_externes:: =)\ndonnées_externes:: ="},{"id":"text-43","heading":"Text","content":"Description de l&#39;illustration external_data_properties.gif\n(opaque_format_spec: Voir Utilitaires de base de données Oracle pour savoir comment spécifier des valeurs pour opaque_format_spec.)\nclauses_partitionnement_table    :: ="},{"id":"text-44","heading":"Text","content":"Description de l&#39;illustration table_partitioning_clauses.gif\n(range_partitioning:: =, hash_partitioning :: =, partition_partition :: =, partitionnement composite :: =)\nrange_partitioning:: ="},{"id":"text-45","heading":"Text","content":"Description de l&#39;illustration range_partitioning.gif\n(plage_valeurs_clause:: =, description_partition_table:: =)\nhash_partitioning    :: ="},{"id":"text-46","heading":"Text","content":"Description de l&#39;illustration hash_partitioning.gif\n(individual_hash_partitions:: =, hash_partitions_by_quantity:: =)\npartition_partition    :: ="},{"id":"text-47","heading":"Text","content":"Description de l&#39;illustration list_partitioning.gif\n(list_values_clause:: =, description_partition_table:: =)\npartitionnement composite :: ="},{"id":"text-48","heading":"Text","content":"Description de l&#39;illustration composite_partitioning.gif\n(subpartition_by_list:: =, subpartition_by_hash:: =, plage_valeurs_clause:: =, description_partition_table:: =)\nsubpartition_by_hash:: ="},{"id":"text-49","heading":"Text","content":"Description de l&#39;illustration subpartition_by_hash.gif\n(subpartition_template:: =)\nindividual_hash_partitions:: ="},{"id":"text-50","heading":"Text","content":"Description de l&#39;illustration individual_hash_partitions.gif\n(partitioning_storage_clause:: =)\nhash_partitions_by_quantity:: ="},{"id":"text-51","heading":"Text","content":"Description de l&#39;illustration hash_partitions_by_quantity.gif\nsubpartition_by_list:: ="},{"id":"text-52","heading":"Text","content":"Description de l&#39;illustration subpartition_by_list.gif\n(subpartition_template:: =)\nsubpartition_template:: ="},{"id":"text-53","heading":"Text","content":"Description de l&#39;illustration subpartition_template.gif\n(list_values_clause:: =, partitioning_storage_clause:: =)\nplage_valeurs_clause:: ="},{"id":"text-54","heading":"Text","content":"Description de l&#39;illustration range_values_clause.gif\nlist_values_clause:: ="},{"id":"text-55","heading":"Text","content":"Description de l&#39;illustration list_values_clause.gif\ndescription_partition_table:: ="},{"id":"text-56","heading":"Text","content":"Description de l&#39;illustration table_partition_description.gif\n(segment_attributes_clause :: =, compression_table:: =, LOB_storage_clause:: =, varray_col_properties :: =, partition_level_subpartition:: =)\npartition_level_subpartition:: ="},{"id":"text-57","heading":"Text","content":"Description de l&#39;illustration partition_level_subpartition.gif\n(subpartition_spec:: =)\nsubpartition_spec:: ="},{"id":"text-58","heading":"Text","content":"Description de l&#39;illustration subpartition_spec.gif\n(list_values_clause:: =, partitioning_storage_clause:: =)\npartitioning_storage_clause:: ="},{"id":"text-59","heading":"Text","content":"Description de l&#39;illustration partitioning_storage_clause.gif\nclause_parallèle :: ="},{"id":"text-60","heading":"Text","content":"Description de l&#39;illustration parallel_clause.gif\nenable_disable_clause :: ="},{"id":"text-61","heading":"Text","content":"Description de l&#39;illustration enable_disable_clause.gif\n(using_index_clause :: =, exceptions_clause n&#39;est pas supporté dans CRÉER TABLE déclarations)\nusing_index_clause    :: ="},{"id":"text-62","heading":"Text","content":"Description de l&#39;illustration using_index_clause.gif\n(create_index:: =, propriété_index:: =)\npropriété_index:: ="},{"id":"text-63","heading":"Text","content":"Description de l&#39;illustration index_properties.gif\n(global_partitioned_index :: =, local_partitioned_index :: =&#8211;partie de CRÉER INDICE, index_attributes:: =, domain_index_clause: non pris en charge dans using_index_clause)\nindex_attributes:: ="},{"id":"text-64","heading":"Text","content":"Description de l&#39;illustration index_attributes.gif\n(clause_attributs_ physiques:: =, logging_clause:: =, key_compression :: =, clause_parallèle: non pris en charge dans using_index_clause)\nSémantique\ntable_relationnelle \nGLOBAL TEMPORARY \nSpécifier GLOBAL TEMPORAIRE pour indiquer que la table est temporaire et que sa définition est visible pour toutes les sessions avec les privilèges appropriés. le Les données dans une table temporaire est visible uniquement pour la session qui insère les données dans la table.\nLorsque vous créez une table temporaire pour la première fois, ses métadonnées de table sont stockées dans le dictionnaire de données, mais aucun espace n&#39;est alloué pour les données de la table. Un espace est alloué pour le segment de table au moment de la première opération DML sur la table. La définition de la table temporaire persiste de la même manière que les définitions des tables normales, mais le segment de la table et toutes les données contenues dans la table sont soit spécifique à la session ou spécifique à la transaction Les données. Vous spécifiez si le segment de table et les données sont spécifiques à la session ou à la transaction avec les mots-clés ON COMMIT.\nVous pouvez effectuer des opérations DDL (telles que MODIFIER TABLE, LAISSEZ TOMBER TABLE, CRÉER INDICE) sur une table temporaire uniquement lorsqu&#39;aucune session n&#39;est liée à celle-ci. Une session devient liée à une table temporaire en effectuant une opération INSÉRER opération sur la table. Une session devient non liée à la table temporaire en émettant un TRONQUER ou à la fin de la session, ou, pour une table temporaire spécifique à une transaction, en émettant un COMMETTRE ou RETOUR EN ARRIERE déclaration.\nRestrictions sur les tables temporaires Les tables temporaires sont soumises aux restrictions suivantes:"},{"id":"text-65","heading":"Text","content":"Les tables temporaires ne peuvent pas être partitionnées, en cluster ou organisées par index."},{"id":"text-66","heading":"Text","content":"Vous ne pouvez spécifier aucune contrainte de clé étrangère sur les tables temporaires."},{"id":"text-67","heading":"Text","content":"Les tables temporaires ne peuvent pas contenir de colonnes de table imbriquée."},{"id":"text-68","heading":"Text","content":"Vous ne pouvez pas spécifier les clauses suivantes du LOB_storage_clause: TABLESPACE, clause_stockage, ou clause_logging."},{"id":"text-69","heading":"Text","content":"Les requêtes DML parallèles et parallèles ne sont pas prises en charge pour les tables temporaires. Les indications parallèles sont ignorées. Spécification de la clause_parallèle    renvoie une erreur."},{"id":"text-70","heading":"Text","content":"Vous ne pouvez pas spécifier le segment_attributes_clause, nested_table_col_properties, ou clause_parallèle."},{"id":"text-71","heading":"Text","content":"Les transactions distribuées ne sont pas prises en charge pour les tables temporaires."},{"id":"text-72","heading":"Text","content":"schéma\nSpécifiez le schéma pour contenir la table. Si vous omettez schéma, la base de données crée alors la table dans votre propre schéma.\ntable\nSpécifiez le nom de la table ou de la table d&#39;objets à créer.\npropriétés_relationnelles\nLes propriétés relationnelles décrivent les composants d&#39;une table relationnelle.\ndéfinition_colonne\nle définition_colonne    vous permet de définir les caractéristiques de la colonne.\ncolonne \nSpécifiez le nom d&#39;une colonne de la table.\nSi vous spécifiez également COMME sous-requêtealors vous pouvez omettre colonne    et Type de données    sauf si vous créez une table organisée par index. Si vous spécifiez COMME sous-requête    lors de la création d&#39;une table organisée par index, vous devez spécifier colonneet vous devez l&#39;omettre Type de données.\nLe nombre maximum absolu de colonnes dans une table est 1000. Toutefois, lorsque vous créez une table objet ou une table relationnelle avec des colonnes d&#39;objet, une table imbriquée, un tableau de variables ou REF type, Oracle Database mappe les colonnes des types définis par l&#39;utilisateur sur des colonnes relationnelles, créant ainsi des colonnes masquées qui comptent pour la limite de 1 000 colonnes.\nType de données\nSpécifiez le type de données d&#39;une colonne.\nNotes sur les types de données de colonne de table Les remarques suivantes s&#39;appliquent aux types de données des colonnes de table:"},{"id":"text-73","heading":"Text","content":"Si vous spécifiez COMME sous-requêtealors vous pouvez omettre Type de données. Si vous créez une table organisée par index et que vous spécifiez COMME sous-requête, vous devez alors omettre le type de données."},{"id":"text-74","heading":"Text","content":"Vous pouvez aussi omettre Type de données    si l&#39;instruction désigne la colonne en tant que partie d&#39;une clé étrangère dans une contrainte d&#39;intégrité référentielle. Oracle Database affecte automatiquement à la colonne le type de données de la colonne correspondante de la clé référencée de la contrainte d&#39;intégrité référentielle."},{"id":"text-75","heading":"Text","content":"Ne créez pas de table avec LONGUE Colonnes. Utiliser les colonnes LOB (CLOB, NCLOB, GOUTTE) au lieu. LONGUE les colonnes sont prises en charge uniquement pour des raisons de compatibilité ascendante."},{"id":"text-76","heading":"Text","content":"Restriction sur les types de données de colonne de table Vous pouvez spécifier une colonne de type ROWID, mais Oracle Database ne garantit pas que les valeurs de ces colonnes sont des ID de ligne valides."},{"id":"text-77","heading":"Text","content":"Voir également:\n&quot;Types de données&quot; pour plus d&#39;informations sur LONGUE colonnes et sur les types de données fournis par Oracle\nTRIER \nle TRIER mot-clé est valide uniquement si vous créez cette table dans le cadre d&#39;un cluster de hachage et uniquement pour les colonnes qui sont également des colonnes de cluster.\nCette clause indique à la base de données de trier les lignes du cluster sur cette colonne avant d&#39;appliquer la fonction de hachage. Cela pourrait améliorer le temps de réponse lors d&#39;opérations ultérieures sur les données en cluster.\nDÉFAUT \nle DÉFAUT Cette clause vous permet de spécifier une valeur à affecter à la colonne si une nouvelle INSÉRER instruction omet une valeur pour la colonne. Le type de données de l&#39;expression doit correspondre à celui de la colonne. La colonne doit également être suffisamment longue pour contenir cette expression.\nle DÉFAUT expression peut inclure n&#39;importe quelle fonction SQL tant qu&#39;elle ne renvoie pas d&#39;argument littéral, de référence de colonne ou d&#39;appel de fonction imbriquée.\nRestriction sur les valeurs de colonne par défaut UNE DÉFAUT expression ne peut pas contenir de références à des fonctions PL / SQL ni à d’autres colonnes, les pseudocolonnes CURRVAL, NEXTVAL, NIVEAU, AVANT, et ROWNUM, ou des constantes de date qui ne sont pas complètement spécifiées.\nCRYPTER encryption_spec \nle CRYPTER Cette clause vous permet d’utiliser la fonctionnalité de chiffrement de données transparente pour chiffrer la colonne que vous définissez. Vous pouvez chiffrer des colonnes de type CARBONISER, NCHAR, VARCHAR2, NVARCHAR2, NOMBRE, DATE, et BRUT. Les données n&#39;apparaissent pas sous leur forme chiffrée pour les utilisateurs autorisés, tels que l&#39;utilisateur qui chiffre la colonne.\nEN UTILISANT &#39;algorithme d&#39;encodage&#39; Utilisez cette clause pour spécifier le nom de l&#39;algorithme à utiliser. Les algorithmes valides sont 3DES168, AES128, AES192, et AES256. Si vous omettez cette clause, la base de données utilise AES192. Si vous chiffrez plusieurs colonnes dans la même table et si vous spécifiez la EN UTILISANT clause pour l’une des colonnes, vous devez spécifier le même algorithme de chiffrement pour toutes les colonnes chiffrées.\nIDENTIFIÉ PAR mot de passe Si vous spécifiez cette clause, la base de données dérive la clé de colonne du mot de passe spécifié.\nSEL | PAS DE SEL Par défaut, la base de données ajoute une chaîne aléatoire, appelée &quot;sel&quot;, au texte en clair de la colonne avant de la chiffrer. Si vous souhaitez utiliser la colonne en tant que clé d&#39;index, vous devez spécifier NON SEL. Prière de se référer à Guide de l&#39;administrateur Oracle Advanced Security pour une description de &quot;sel&quot; dans ce contexte.\nRestrictions sur la clause ENCRYPT: Les restrictions suivantes s&#39;appliquent au chiffrement de colonne:"},{"id":"text-78","heading":"Text","content":"Pour chiffrer une colonne dans une table externe, la table doit utiliser ORACLE_DATAPUMP comme son type d&#39;accès."},{"id":"text-79","heading":"Text","content":"Vous ne pouvez pas chiffrer une colonne dans les tables appartenant à SYS."},{"id":"text-80","heading":"Text","content":"Vous ne pouvez pas chiffrer une colonne de clé étrangère."},{"id":"text-81","heading":"Text","content":"Clauses de contrainte\nUtilisez ces clauses pour créer des contraintes sur les colonnes de la table. Vous devez spécifier un PRIMAIRE CLÉ contrainte pour une table organisée par index, et il ne peut pas être Reportable. Prière de se référer à contrainte    pour la syntaxe et la description de ces contraintes ainsi que des exemples.\ninline_ref_constraint et out_of_line_ref_constraint  Ces clauses vous permettent de décrire une colonne de type REF. La seule différence entre ces clauses est que vous spécifiez out_of_line_ref_constraint    au niveau de la table, vous devez donc identifier le REF colonne ou attribut que vous définissez. Spécifier inline_ref_constraint    dans le cadre de la définition du REF colonne ou attribut.\ninline_constraiNT  Utilisez le inline_constraint    définir une contrainte d’intégrité dans la définition de la colonne.\nVous pouvez créer UNIQUE, PRIMAIRE CLÉ, et RÉFÉRENCES contraintes sur les attributs scalaires des colonnes de type d&#39;objet. Vous pouvez également créer NE PAS NUL contraintes sur les colonnes de type d&#39;objet et VÉRIFIER des contraintes qui font référence à des colonnes de type d&#39;objet ou à tout attribut d&#39;une colonne de type d&#39;objet.\nout_of_line_constraint  Utilisez le out_of_line_constraint    syntaxe pour définir une contrainte d&#39;intégrité dans la définition de la table.\nsupplemental_logging_props \nle supplemental_logging_props    Cette clause vous permet de charger la base de données de placer des données supplémentaires dans le flux de journaux afin de prendre en charge les outils basés sur les journaux.\nsupplemental_log_grp_clause Utilisez cette clause pour créer un groupe de journaux nommé."},{"id":"text-82","heading":"Text","content":"le NON BÛCHE Cette clause vous permet d’omettre du journal de reprise une ou plusieurs colonnes qui seraient autrement incluses dans le rétablissement du groupe de journaux nommé. Vous devez spécifier au moins une colonne de longueur fixe sans NON BÛCHE dans le groupe de journaux nommé."},{"id":"text-83","heading":"Text","content":"Si vous spécifiez TOUJOURS, puis lors d’une mise à jour, la base de données inclut dans la restauration toutes les colonnes du groupe de journaux. Ceci s&#39;appelle un groupe de journaux inconditionnel (parfois appelé &quot;groupe de journalisation&quot;), car Oracle Database enregistre de manière complémentaire toutes les colonnes du groupe de journalisation lorsque la ligne associée est modifiée. Si vous omettez TOUJOURS, la base de données enregistre ensuite toutes les colonnes du groupe de journaux uniquement si l’une quelconque des colonnes du groupe de journaux est modifiée. Ceci s&#39;appelle un groupe de journaux conditionnel."},{"id":"text-84","heading":"Text","content":"Vous pouvez interroger le approprié UTILISATEUR_, TOUT_, ou DBA_LOG_GROUP_COLUMNS dictionnaire de données pour déterminer si une journalisation supplémentaire a déjà été spécifiée.\nsupplemental_id_key_clause Utilisez cette clause pour spécifier que toutes les colonnes de clé primaire, de clé unique et de clé étrangère, ou une combinaison de celles-ci, doivent être journalisées. Oracle Database générera soit un groupe de journaux inconditionnel ou un groupe de journaux conditionnel. Avec un groupe de journaux inconditionnel, la base de données enregistre de manière supplémentaire toutes les colonnes du groupe de journaux lorsque la ligne associée est modifiée. Avec un groupe de journaux conditionnel, la base de données enregistre de manière complémentaire toutes les colonnes du groupe de journaux uniquement si l&#39;une des colonnes du groupe de journaux est modifiée."},{"id":"text-85","heading":"Text","content":"Si vous spécifiez TOUT COLONNES, alors la base de données inclut dans le journal de restauration toutes les colonnes de taille maximale de longueur fixe de cette ligne. Un tel journal de rétablissement est un groupe de journaux inconditionnel généré par le système."},{"id":"text-86","heading":"Text","content":"Si vous spécifiez PRIMAIRE CLÉ COLONNES, puis pour toutes les tables avec une clé primaire, la base de données place dans le journal de restauration toutes les colonnes de la clé primaire chaque fois qu&#39;une mise à jour est effectuée. Oracle Database évalue les colonnes à consigner de manière supplémentaire comme suit:"},{"id":"text-87","heading":"Text","content":"La base de données choisit d’abord les colonnes de la contrainte de clé primaire, si celle-ci est validée ou marquée COMPTER et n&#39;est pas marqué comme DÉSACTIVÉ ou INITIALEMENT DIFFÉRÉ."},{"id":"text-88","heading":"Text","content":"Si aucune colonne de clé primaire n&#39;existe, la base de données recherche la plus petite UNIQUE index avec au moins un NE PAS NUL colonne et utilise les colonnes de cet index."},{"id":"text-89","heading":"Text","content":"Si aucun index de ce type n&#39;existe, la base de données enregistre ensuite toutes les colonnes scalaires de la table."},{"id":"text-90","heading":"Text","content":"Si vous spécifiez UNIQUE COLONNES, puis pour toutes les tables avec une clé unique ou un index bitmap, si l’une quelconque des colonnes d’index clé unique ou bitmap est modifiée, la base de données place dans le journal de restauration toutes les autres colonnes appartenant à la clé unique ou à l’index bitmap. Un tel groupe de journaux est un groupe de journaux conditionnel généré par le système."},{"id":"text-91","heading":"Text","content":"Si vous spécifiez ÉTRANGER CLÉ COLONNES, puis pour toutes les tables avec une clé étrangère, si des colonnes de clé étrangère sont modifiées, la base de données place dans le journal de restauration toutes les autres colonnes appartenant à la clé étrangère. Un tel journal de rétablissement est un groupe de journaux conditionnel généré par le système."},{"id":"text-92","heading":"Text","content":"Si vous spécifiez cette clause plusieurs fois, la base de données crée un groupe de journaux distinct pour chaque spécification. Vous pouvez interroger le approprié UTILISATEUR_, TOUT_, ou DBA_LOG_GROUPS dictionnaire de données pour déterminer si des données de journalisation supplémentaires ont déjà été spécifiées.\nSUR COMMETTRE\nle SUR COMMETTRE La clause n&#39;est pertinente que si vous créez une table temporaire. Cette clause spécifie si les données de la table temporaire sont conservées pendant la durée d&#39;une transaction ou d&#39;une session.\nSUPPRIMER LES RANGES Spécifier EFFACER LIGNES pour une table temporaire spécifique à une transaction. C&#39;est la valeur par défaut. Oracle Database tronquera la table (supprimera toutes ses lignes) après chaque validation.\nPréserver les rangs Spécifier PRÉSERVER LIGNES pour une table temporaire spécifique à la session. Oracle Database tronque la table (supprime toutes ses lignes) lorsque vous terminez la session.\npropriétés physiques\nLes propriétés physiques concernent le traitement des étendues et des segments et les caractéristiques de stockage de la table.\nsegment_attributes_clause \nle segment_attributes_clause    vous permet de spécifier les attributs physiques et le stockage d&#39;espace table pour la table.\nclause_attributs_ physiques le clause_attributs_ physiques    vous permet de spécifier la valeur du PCTFREE, PCTUSED, et INITRANS paramètres et les caractéristiques de stockage de la table."},{"id":"text-93","heading":"Text","content":"Pour une table non partitionnée, chaque paramètre et caractéristique de stockage que vous spécifiez détermine l&#39;attribut physique réel du segment associé à la table."},{"id":"text-94","heading":"Text","content":"Pour les tables partitionnées, la valeur que vous spécifiez pour le paramètre ou la caractéristique de stockage est l&#39;attribut physique par défaut des segments associés à toutes les partitions spécifiées dans cette section. CRÉER déclaration (et dans la suite MODIFIER TABLE &#8230; AJOUTER CLOISON instructions), sauf si vous écrasez explicitement cette valeur dans CLOISON clause de l&#39;instruction qui crée la partition."},{"id":"text-95","heading":"Text","content":"Si vous omettez cette clause, Oracle Database définit PCTFREE à 10, PCTUSED à 40, et INITRANS à 1.\nTABLESPACE  Spécifiez l&#39;espace de table dans lequel Oracle Database crée la table, table d&#39;objet OIDINDEX, partition, segment de données LOB, segment d&#39;index LOB ou segment de données de dépassement de table organisé par index. Si vous omettez TABLESPACE, puis la base de données crée cet élément dans l’espace table par défaut du propriétaire du schéma contenant la table.\nPour une table organisée en tas avec une ou plusieurs colonnes LOB, si vous omettez le TABLESPACE clause de stockage LOB, la base de données crée les segments de données LOB et d’index dans le tablespace où la table est créée.\nPour une table organisée par index avec une ou plusieurs colonnes LOB, si vous omettez TABLESPACE, puis les segments de données et d&#39;index LOB sont créés dans l&#39;espace de table dans lequel le segment d&#39;index de clé primaire de la table organisée par index est créé.\nPour les tables non partitionnées, la valeur spécifiée pour TABLESPACE est l&#39;attribut physique réel du segment associé à la table. Pour les tables partitionnées, la valeur spécifiée pour TABLESPACE est l&#39;attribut physique par défaut des segments associés à toutes les partitions spécifiées dans le champ CRÉER déclaration et à la suite MODIFIER TABLE &#8230; AJOUTER CLOISON déclarations, sauf si vous spécifiez TABLESPACE dans le CLOISON la description.\nclause_logging \nIndiquez si la création de la table et de tout index requis en raison de contraintes, de caractéristiques de partition ou de stockage LOB sera consignée dans le fichier journal redo (ENREGISTREMENT) ou pas (NOLOGGING). L’attribut de journalisation de la table est indépendant de celui de ses index.\nCet attribut indique également si le chargeur direct ultérieur (SQL * Loader) et le chemin direct INSÉRER les opérations sur la table, la partition ou le stockage LOB sont consignées (ENREGISTREMENT) ou non connecté (NOLOGGING).\nPrière de se référer à clause_logging    pour une description complète de cette clause.\ncompression_table \nle compression_table    La clause n&#39;est valide que pour les tables organisées par tas. Utilisez cette clause pour indiquer à la base de données s&#39;il faut compresser les segments de données pour réduire l&#39;utilisation du disque. Cette clause est particulièrement utile dans des environnements tels que les entrepôts de données, où le nombre d&#39;opérations d&#39;insertion et de mise à jour est faible. le COMPRESSE mot clé active la compression de table. le NOCOMPRESS mot clé désactive la compression de la table. NOCOMPRESS est la valeur par défaut.\nLorsque vous activez la compression de table, Oracle Database tente de compresser les données lors d&#39;un accès direct. INSÉRER opérations quand il est productif de le faire. L&#39;utilitaire d&#39;importation d&#39;origine (imp) ne prend pas en charge le chemin direct. INSÉRERet ne peut donc pas importer des données dans un format compressé. Vous pouvez spécifier une compression de table pour les parties suivantes d&#39;une table organisée par tas:"},{"id":"text-96","heading":"Text","content":"Pour une table entière, dans le propriétés physiques    clause de table_relationnelle    ou objet_table"},{"id":"text-97","heading":"Text","content":"For a range partition, in the table_partition_description    du range_partitioning    clause"},{"id":"text-98","heading":"Text","content":"For a list partition, in the table_partition_description    du list_partitioning    clause"},{"id":"text-99","heading":"Text","content":"For the storage table of a nested table, in the nested_table_col_properties    clause"},{"id":"text-100","heading":"Text","content":"Restrictions on Table Compression Table compression is subject to the following restrictions:"},{"id":"text-101","heading":"Text","content":"Table compression is not supported for tables with more than 255 columns."},{"id":"text-102","heading":"Text","content":"LOB data segments are not compressed."},{"id":"text-103","heading":"Text","content":"You cannot specify table compression for an index-organized table, any overflow segment or partition of an overflow segment, or any mapping table segment of an index-organized table."},{"id":"text-104","heading":"Text","content":"You cannot define table compression explicitly for hash partitions or hash and list subpartitions. The table compression attribute for those partitions is inherited from the tablespace, the table, or the table partition setting."},{"id":"text-105","heading":"Text","content":"You cannot specify table compression for external tables or for tables that are part of a cluster."},{"id":"text-106","heading":"Text","content":"RECOVERABLE | UNRECOVERABLE \nThese keywords are deprecated and have been replaced with LOGGING et NOLOGGING, respectivement. Bien que RECOVERABLE et UNRECOVERABLE are supported for backward compatibility, Oracle strongly recommends that you use the LOGGING et NOLOGGING keywords.\nRestrictions on [UN]RECOVERABLE This clause is subject to the following restrictions:"},{"id":"text-107","heading":"Text","content":"You cannot specify RECOVERABLE for partitioned tables or LOB storage characteristics."},{"id":"text-108","heading":"Text","content":"You cannot specify UNRECOVERABLE for partitioned or index-organized tables."},{"id":"text-109","heading":"Text","content":"You can specify UNRECOVERABLE only with COMME subquery."},{"id":"text-110","heading":"Text","content":"ORGANIZATION \nle ORGANIZATION clause lets you specify the order in which the data rows of the table are stored.\nHEAP HEAP indicates that the data rows of table    are stored in no particular order. This is the default.\nINDEX INDEX indicates that table    is created as an index-organized table. In an index-organized table, the data rows are held in an index defined on the primary key for the table.\nEXTERNAL EXTERNAL indicates that table is a read-only table located outside the database.\nindex_org_table_clause\nUtilisez le index_org_table_clause    to create an index-organized table. Oracle Database maintains the table rows, both primary key column values and nonkey column values, in an index built on the primary key. Index-organized tables are therefore best suited for primary key-based access and manipulation. An index-organized table is an alternative to:"},{"id":"text-111","heading":"Text","content":"A noncluster table indexed on the primary key by using the CREATE INDEX déclaration"},{"id":"text-112","heading":"Text","content":"A cluster table stored in an indexed cluster that has been created using the CREATE CLUSTER statement that maps the primary key for the table to the cluster key"},{"id":"text-113","heading":"Text","content":"You must specify a primary key for an index-organized table, because the primary key uniquely identifies a row. The primary key cannot be DEFERRABLE. Use the primary key instead of the rowid for directly accessing index-organized rows.\nIf an index-organized table is partitioned and contains LOB columns, then you should specify the index_org_table_clause    first, then the LOB_storage_clause, and then the appropriate table_partitioning_clauses.\nYou cannot use the TO_LOB function to convert a LONG column to a LOB column in the subquery of a CREATE TABLE &#8230; COMME SELECT statement if you are creating an index-organized table. Instead, create the index-organized table without the LONG column, and then use the TO_LOB function in an INSÉRER &#8230; COMME SELECT déclaration.\nRestrictions on Index-Organized Tables Index-organized tables are subject to the following restrictions:\nPCTTHRESHOLD entier Specify the percentage of space reserved in the index block for an index-organized table row. PCTTHRESHOLD must be large enough to hold the primary key. All trailing columns of a row, starting with the column that causes the specified threshold to be exceeded, are stored in the overflow segment. PCTTHRESHOLD must be a value from 1 to 50. If you do not specify PCTTHRESHOLD, the default is 50.\nRestriction on PCTTHRESHOLD You cannot specify PCTTHRESHOLD for individual partitions of an index-organized table.\nmapping_table_clauses Specify MAPPING TABLE to instruct the database to create a mapping of local to physical ROWIDs and store them in a heap-organized table. This mapping is needed in order to create a bitmap index on the index-organized table. If the index-organized table is partitioned, then the mapping table is also partitioned and its partitions have the same name and physical attributes as the base table partitions.\nOracle Database creates the mapping table or mapping table partition in the same tablespace as its parent index-organized table or partition. You cannot query, perform DML operations on, or modify the storage characteristics of the mapping table or its partitions.\nkey_compression  le key_compression    clauses let you enable or disable key compression for index-organized tables."},{"id":"text-114","heading":"Text","content":"Specify COMPRESS to enable key compression, which eliminates repeated occurrence of primary key column values in index-organized tables. Utilisation entier    to specify the prefix length, which is the number of prefix columns to compress.\nThe valid range of prefix length values is from 1 to the number of primary key columns minus 1. The default prefix length is the number of primary key columns minus 1."},{"id":"text-115","heading":"Text","content":"Specify NOCOMPRESS to disable key compression in index-organized tables. This is the default."},{"id":"text-116","heading":"Text","content":"Restriction on Key Compression of Index-organized Tables At the partition level, you can specify COMPRESS, but you cannot specify the prefix length with entier.\nindex_org_overflow_clause  le index_org_overflow_clause    lets you instruct the database that index-organized table data rows exceeding the specified threshold are placed in the data segment specified in this clause."},{"id":"text-117","heading":"Text","content":"When you create an index-organized table, Oracle Database evaluates the maximum size of each column to estimate the largest possible row. If an overflow segment is needed but you have not specified OVERFLOW, then the database raises an error and does not execute the CREATE TABLE déclaration. This checking function guarantees that subsequent DML operations on the index-organized table will not fail because an overflow segment is lacking."},{"id":"text-118","heading":"Text","content":"All physical attributes and storage characteristics you specify in this clause after the OVERFLOW keyword apply only to the overflow segment of the table. Physical attributes and storage characteristics for the index-organized table itself, default values for all its partitions, and values for individual partitions must be specified before this keyword."},{"id":"text-119","heading":"Text","content":"If the index-organized table contains one or more LOB columns, then the LOBs will be stored out-of-line unless you specify OVERFLOW, even if they would otherwise be small enough be to stored inline."},{"id":"text-120","heading":"Text","content":"Si table    is partitioned, then the database equipartitions the overflow data segments with the primary key index segments."},{"id":"text-121","heading":"Text","content":"INCLUDING column_name Specify a column at which to divide an index-organized table row into index and overflow portions. The primary key columns are always stored in the index. column_name    can be either the last primary key column or any non primary key column. All non primary key columns that follow column_name    are stored in the overflow data segment.\nIf an attempt to divide a row at column_name    causes the size of the index portion of the row to exceed the specified or default PCTTHRESHOLD value, then the database breaks up the row based on the PCTTHRESHOLD valeur.\nRestriction on the INCLUDING Clause You cannot specify this clause for individual partitions of an index-organized table.\nexternal_table_clause \nUtilisez le external_table_clause    to create an external table, which is a read-only table whose metadata is stored in the database but whose data in stored outside the database. Among other capabilities, external tables let you query data without first loading it into the database.\nBecause external tables have no data in the database, you define them with a small subset of the clauses normally available when creating tables."},{"id":"text-122","heading":"Text","content":"Within the relational_properties    clause, you can specify only colonne    et datatype."},{"id":"text-123","heading":"Text","content":"Within the physical_properties_clause, you can specify only the organization of the table (ORGANIZATION EXTERNAL external_table_clause)."},{"id":"text-124","heading":"Text","content":"Within the table_properties    clause, you can specify only the parallel_clause. le parallel_clause    lets you parallelize subsequent queries on the external data and subsequent operations that populate the external table."},{"id":"text-125","heading":"Text","content":"You can populate the external table at create time by using the COMME subquery    clause."},{"id":"text-126","heading":"Text","content":"No other clauses are permitted in the same CREATE TABLE déclaration.\nRestrictions on External Tables External tables are subject to the following restrictions:"},{"id":"text-127","heading":"Text","content":"An external table cannot be a temporary table."},{"id":"text-128","heading":"Text","content":"You cannot specify constraints on an external table."},{"id":"text-129","heading":"Text","content":"An external table cannot have object type, varray, or LONG columns. However, you can populate LOB columns of an external table with varray or LONG data from an internal database table."},{"id":"text-130","heading":"Text","content":"TYPE  TYPE access_driver_type    indicates the access driver of the external table. The access driver is the API that interprets the external data for the database. Oracle Database provides two access drivers: ORACLE_LOADER et ORACLE_DATAPUMP. If you do not specify TYPE, then the database uses ORACLE_LOADER as the default access driver. You must specify the ORACLE_DATAPUMP access driver if you specify the COMME subquery    clause to unload data from one Oracle Database and reload it into the same or a different Oracle Database.\nDEFAULT DIRECTORY DEFAULT DIRECTORY lets you specify a default directory object corresponding to a directory on the file system where the external data sources may reside. The default directory can also be used by the access driver to store auxiliary files such as error logs.\nACCESS PARAMETERS The optional ACCESS PARAMETERS clause lets you assign values to the parameters of the specific access driver for this external table."},{"id":"text-131","heading":"Text","content":"le opaque_format_spec    lets you list the parameters and their values. Please refer to Oracle Database Utilities for information on how to specify values for the opaque_format_spec.\nField names specified in the opaque_format_spec    must match columns in the table definition. Oracle Database ignores any field in the opaque_format_spec    that is not matched by a column in the table definition."},{"id":"text-132","heading":"Text","content":"USING CLOB subquery    lets you derive the parameters and their values through a subquery. The subquery cannot contain any set operators or an ORDER PAR clause. It must return one row containing a single item of datatype CLOB."},{"id":"text-133","heading":"Text","content":"Whether you specify the parameters in an opaque_format_spec    or derive them using a subquery, the database does not interpret anything in this clause. It is up to the access driver to interpret this information in the context of the external data.\nEMPLACEMENT le EMPLACEMENT clause lets you specify one or more external data sources. Usually the location_specifier    is a file, but it need not be. Oracle Database does not interpret this clause. It is up to the access driver to interpret this information in the context of the external data. You cannot use wildcards in the location_specifier    to specify multiple files.\nREJECT LIMIT le REJECT LIMIT clause lets you specify how many conversion errors can occur during a query of the external data before an Oracle Database error is returned and the query is aborted. The default value is 0.\nCLUSTER Clause \nle CLUSTER clause indicates that the table is to be part of cluster. The columns listed in this clause are the table columns that correspond to the cluster columns. Generally, the cluster columns of a table are the column or columns that make up its primary key or a portion of its primary key. Please refer to CREATE CLUSTER for more information.\nSpecify one column from the table for each column in the cluster key. The columns are matched by position, not by name.\nA cluster table uses the space allocation of the cluster. Therefore, do not use the PCTFREE, PCTUSED, ou INITRANS parameters, the TABLESPACE clause, or the storage_clause    avec le CLUSTER clause.\nRestrictions on Cluster Tables Cluster tables are subject to the following restrictions:"},{"id":"text-134","heading":"Text","content":"Object tables and tables containing LOB columns cannot be part of a cluster."},{"id":"text-135","heading":"Text","content":"You cannot specify CLUSTER with either ROWDEPENDENCIES ou NOROWDEPENDENCIES unless the cluster has been created with the same ROWDEPENDENCIES ou NOROWDEPENDENCIES réglage."},{"id":"text-136","heading":"Text","content":"table_properties\nle table_properties    further define the characteristics of the table.\ncolumn_properties \nUtilisez le column_properties    clauses to specify the storage attributes of a column.\nobject_type_col_properties\nle object_type_col_properties    determine storage characteristics of an object column or attribute or of an element of a collection column or attribute.\ncolonne Pour colonne, specify an object column or attribute.\nsubstitutable_column_clause le substitutable_column_clause    indicates whether object columns or attributes in the same hierarchy are substitutable for each other. You can specify that a column is of a particular type, or whether it can contain instances of its subtypes, or both."},{"id":"text-137","heading":"Text","content":"If you specify ÉLÉMENT, you constrain the element type of a collection column or attribute to a subtype of its declared type."},{"id":"text-138","heading":"Text","content":"le IS OF [TYPE] (ONLY type) clause constrains the type of the object column to a subtype of its declared type."},{"id":"text-139","heading":"Text","content":"NE PAS SUBSTITUTABLE À TOUT LEVELS indicates that the object column cannot hold instances corresponding to any of its subtypes. Also, substitution is disabled for any embedded object attributes and elements of embedded nested tables and varrays. The default is SUBSTITUTABLE À TOUT LEVELS."},{"id":"text-140","heading":"Text","content":"Restrictions on the substitutable_column_clause This clause is subject to the following restrictions:"},{"id":"text-141","heading":"Text","content":"You cannot specify this clause for an attribute of an object column. However, you can specify this clause for a object type column of a relational table and for an object column of an object table if the substitutability of the object table itself has not been set."},{"id":"text-142","heading":"Text","content":"For a collection type column, the only part of this clause you can specify is [NOT] SUBSTITUTABLE À TOUT LEVELS."},{"id":"text-143","heading":"Text","content":"LOB_storage_clause\nle LOB_storage_clause    lets you specify the storage attributes of LOB data segments.\nFor a nonpartitioned table, this clause specifies the storage attributes of LOB data segments of the table.\nFor a partitioned table, Oracle Database implements this clause depending on where it is specified:"},{"id":"text-144","heading":"Text","content":"For a partitioned table specified at the table level&#8211;that is, when specified in the physical_properties    clause along with one of the partitioning clauses&#8211;this clause specifies the default storage attributes for LOB data segments associated with each partition or subpartition. These storage attributes apply to all partitions or subpartitions unless overridden by a LOB_storage_clause    at the partition or subpartition level."},{"id":"text-145","heading":"Text","content":"For an individual partition of a partitioned table&#8211;that is, when specified as part of a table_partition_description&#8211;this clause specifies the storage attributes of the data segments of the partition or the default storage attributes of any subpartitions of the partition. A partition-level LOB_storage_clause    overrides a table-level LOB_storage_clause."},{"id":"text-146","heading":"Text","content":"For an individual subpartition of a partitioned table&#8211;that is, when specified as part of subpartition_by_hash    ou subpartition_by_list&#8211;this clause specifies the storage attributes of the data segments of the subpartition. A subpartition-level LOB_storage_clause    overrides both partition-level and table-level LOB_storage_clauses."},{"id":"text-147","heading":"Text","content":"LOB_item\nSpecify the LOB column name or LOB object attribute for which you are explicitly defining tablespace and storage characteristics that are different from those of the table. Oracle Database automatically creates a system-managed index for each LOB_item    you create.\nLOB_segname\nSpecify the name of the LOB data segment. You cannot use LOB_segname    if you specify more than one LOB_item.\nLOB_parameters \nle LOB_parameters    clause lets you specify various elements of LOB storage.\nENABLE STORAGE IN ROW  If you enable storage in row, then the LOB value is stored in the row (inline) if its length is less than approximately 4000 bytes minus system control information. This is the default.\nRestriction on Enabling Storage in Row For an index-organized table, you cannot specify this parameter unless you have specified an OVERFLOW segment in the index_org_table_clause.\nDISABLE STORAGE IN ROW  If you disable storage in row, then the LOB value is stored outside of the row out of line regardless of the length of the LOB value.\nThe LOB locator is always stored inline regardless of where the LOB value is stored. You cannot change the value of ESPACE DE RANGEMENT DANS ROW once it is set except by moving the table. See the move_table_clause    dans le MODIFIER TABLE documentation for more information.\nCHUNK entier  Specify the number of bytes to be allocated for LOB manipulation. Si entier    is not a multiple of the database block size, then the database rounds up in bytes to the next multiple. For example, if the database block size is 2048 and entier    is 2050, then the database allocates 4096 bytes (2 blocks). The maximum value is 32768 (32K), which is the largest Oracle Database block size allowed. The default CHUNK size is one Oracle Database block.\nThe value of CHUNK must be less than or equal to the value of NEXT, either the default value or that specified in the storage_clause. Si CHUNK exceeds the value of NEXT, then the database returns an error.You cannot change the value of CHUNK once it is set.\nPCTVERSION entier  Specify the maximum percentage of overall LOB storage space used for maintaining old versions of the LOB. The default value is 10, meaning that older versions of the LOB data are not overwritten until they consume 10% of the overall LOB storage space.\nYou can specify the PCTVERSION parameter whether the database is running in manual or automatic undo mode. PCTVERSION is the default in manual undo mode. RETENTION is the default in automatic undo mode. You cannot specify both PCTVERSION et RETENTION.\nRETENTION  Use this clause to indicate that Oracle Database should retain old versions of this LOB column. Oracle Database uses the value of the UNDO_RETENTION initialization parameter to determine the amount of committed undo data to retain in the database.\nYou can specify the RETENTION parameter only if the database is running in automatic undo mode. In this mode, RETENTION is the default value unless you specify PCTVERSION. You cannot specify both PCTVERSION et RETENTION.\nFREEPOOLS entier  Specify the number of groups of free lists for the LOB segment. Normalement entier    will be the number of instances in a Real Application Clusters environment or 1 for a single-instance database.\nYou can specify this parameter only if the database is running in automatic undo mode. In this mode, FREEPOOLS is the default unless you specify the FREELIST GROUPS parameter of the storage_clause. If you specify neither FREEPOOLS nor FREELIST GROUPS, then the database uses a default of FREEPOOLS 1 if the database is in automatic undo management mode and a default of FREELIST GROUPS 1 if the database is in manual undo management mode.\nRestriction on FREEPOOLS You cannot specify both FREEPOOLS et le FREELIST GROUPS parameter of the storage_clause.\nvarray_col_properties \nle varray_col_properties    let you specify separate storage characteristics for the LOB in which a varray will be stored. Si varray_item    is a multilevel collection, then the database stores all collection items nested within varray_item    in the same LOB in which varray_item    is stored."},{"id":"text-148","heading":"Text","content":"For a nonpartitioned table&#8211;that is, when specified in the physical_properties    clause without any of the partitioning clauses&#8211;this clause specifies the storage attributes of the LOB data segments of the varray."},{"id":"text-149","heading":"Text","content":"For a partitioned table specified at the table level&#8211;that is, when specified in the physical_properties    clause along with one of the partitioning clauses&#8211;this clause specifies the default storage attributes for the varray LOB data segments associated with each partition (or its subpartitions, if any)."},{"id":"text-150","heading":"Text","content":"For an individual partition of a partitioned table&#8211;that is, when specified as part of a table_partition_description&#8211;this clause specifies the storage attributes of the varray LOB data segments of that partition or the default storage attributes of the varray LOB data segments of any subpartitions of this partition. A partition-level varray_col_properties    overrides a table-level varray_col_properties."},{"id":"text-151","heading":"Text","content":"For an individual subpartition of a partitioned table&#8211;that is, when specified as part of subpartition_by_hash    ou subpartition_by_list&#8211;this clause specifies the storage attributes of the varray data segments of this subpartition. A subpartition-level varray_col_properties    overrides both partition-level and table-level varray_col_properties."},{"id":"text-152","heading":"Text","content":"STORE AS LOB Clause If you specify STORE COMME LOB:"},{"id":"text-153","heading":"Text","content":"If the maximum varray size is less than 4000 bytes, then the database stores the varray as an inline LOB unless you have disabled storage in row."},{"id":"text-154","heading":"Text","content":"If the maximum varray size is greater than 4000 bytes or if you have disabled storage in row, then the database stores in the varray as an out-of-line LOB."},{"id":"text-155","heading":"Text","content":"If you do not specify STORE COMME LOB, then storage is based on the maximum possible size of the varray rather than on the actual size of a varray column. The maximum size of the varray is the number of elements times the element size, plus a small amount for system control information. If you omit this clause:"},{"id":"text-156","heading":"Text","content":"If the maximum size of the varray is less than 4000 bytes, then the database does not store the varray as a LOB, but as inline data."},{"id":"text-157","heading":"Text","content":"If the maximum size is greater than 4000 bytes, then the database always stores the varray as a LOB."},{"id":"text-158","heading":"Text","content":"If the actual size is less than 4000 bytes, it is stored as an inline LOB"},{"id":"text-159","heading":"Text","content":"If the actual size is greater than 4000 bytes, it is stored as an out-of-line LOB, as is true for other LOB columns."},{"id":"text-160","heading":"Text","content":"Restriction on Storing Varrays as LOBs You cannot specify the TABLESPACE parameter of LOB_parameters    as part of this clause. The LOB tablespace for a varray defaults to the tablespace of the containing table or table partition.\nsubstitutable_column_clause le substitutable_column_clause    has the same behavior as described for object_type_col_properties.\nnested_table_col_properties \nle nested_table_col_properties    let you specify separate storage characteristics for a nested table, which in turn enables you to define the nested table as an index-organized table. Unless you explicitly specify otherwise in this clause:"},{"id":"text-161","heading":"Text","content":"For a nonpartitioned table, the storage table is created in the same schema and the same tablespace as the parent table."},{"id":"text-162","heading":"Text","content":"For a partitioned table, the storage table is created in the default tablespace of the schema."},{"id":"text-163","heading":"Text","content":"In either case, the storage table uses default storage characteristics, and stores the nested table values of the column for which it was created."},{"id":"text-164","heading":"Text","content":"You must include this clause when creating a table with columns or column attributes whose type is a nested table. Clauses within nested_table_col_properties    that function the same way they function for the parent table are not repeated here.\nnested_item Specify the name of a column, or of a top-level attribute of the object type of the tables, whose type is a nested table.\nCOLUMN_VALUE If the nested table is a multilevel collection, then the inner nested table or varray may not have a name. In this case, specify COLUMN_VALUE in place of the nested_item    name.\nstorage_table Specify the name of the table where the rows of nested_item    reside.\nYou cannot query or perform DML statements on storage_table    directly, but you can modify its storage characteristics by specifying its name in an MODIFIER TABLE déclaration.\nRestriction on the Storage Table You cannot partition the storage table of a nested table."},{"id":"text-165","heading":"Text","content":"Voir également:\nALTER TABLE for information about modifying nested table column storage characteristics\nRETURN AS Specify what Oracle Database returns as the result of a query."},{"id":"text-166","heading":"Text","content":"VALUE returns a copy of the nested table itself."},{"id":"text-167","heading":"Text","content":"LOCATOR returns a collection locator to the copy of the nested table.\nThe locator is scoped to the session and cannot be used across sessions. Unlike a LOB locator, the collection locator cannot be used to modify the collection instance."},{"id":"text-168","heading":"Text","content":"If you do not specify the segment_attributes_clause    ou la LOB_storage_clause, then the nested table is heap organized and is created with default storage characteristics.\nRestrictions on Nested Table Column Properties Nested table column properties are subject to the following restrictions:"},{"id":"text-169","heading":"Text","content":"You cannot specify this clause for a temporary table."},{"id":"text-170","heading":"Text","content":"You cannot specify the oid_clause."},{"id":"text-171","heading":"Text","content":"At create time, you cannot use object_properties    to specify an out_of_line_ref_constraint, inline_ref_constraint, or foreign key constraint for the attributes of a nested table. However, you can modify a nested table to add such constraints using MODIFIER TABLE."},{"id":"text-172","heading":"Text","content":"XMLType_column_properties \nle XMLType_column_properties    let you specify storage attributes for an XMLTYPE column.\nXMLType_storage XMLType columns can be stored either in LOB or object-relational columns."},{"id":"text-173","heading":"Text","content":"Specify STORE COMME OBJECT RELATIONAL if you want the database to store the XMLType data in object-relational columns. Storing data objects relationally lets you define indexes on the relational columns and enhances query performance.\nIf you specify object-relational storage, then you must also specify the XMLSchema_spec    clause."},{"id":"text-174","heading":"Text","content":"Specify STORE COMME CLOB if you want the database to store the XMLType data in a CLOB column. Storing data in a CLOB column preserves the original content and enhances retrieval time.\nIf you specify LOB storage, then you can specify either LOB parameters or the XMLSchema_spec    clause, but not both. Specify the XMLSchema_spec    clause if you want to restrict the table or column to particular schema-based XML instances."},{"id":"text-175","heading":"Text","content":"XMLSchema_spec This clause lets you specify the URL of a registered XMLSchema, either in the XMLSCHEMA clause or as part of the ÉLÉMENT clause, and an XML element name. You must specify an element, although the XMLSchema URL is optional. If you do specify an XMLSchema URL, then you must already have registered the XMLSchema using the DBMS_XMLSCHEMA package.\ntable_partitioning_clauses \nUtilisez le table_partitioning_clauses    to create a partitioned table.\nRestrictions on Partitioning in General All partitioning is subject to the following restrictions:\nThe storage of partitioned database entities in tablespaces of different block sizes is subject to several restrictions. Please refer to Oracle Database Administrator&#39;s Guide for a discussion of these restrictions.\nrange_partitioning\nUtilisez le range_partitioning    clause to partition the table on ranges of values from the column list. For an index-organized table, the column list must be a subset of the primary key columns of the table.\ncolonne\nSpecify an ordered list of columns used to determine into which partition a row belongs. These columns are the partitioning key.\nRestriction on Partitioning Key Columns The columns in the column list can be of any built-in datatype except ROWID, LONG, LOB, ou TIMESTAMP AVEC TEMPS ZONE. However, columns of TIMESTAMP ou TIMESTAMP AVEC LOCAL TEMPS ZONE can be used in the partitioning key.\nPARTITION cloison \nThe name cloison    must conform to the rules for naming schema objects and their part as described in &quot;Schema Object Naming Rules&quot;. If you omit cloison, then the database generates a name with the form SYS_Pn."},{"id":"text-176","heading":"Text","content":"You can specify up to a total of 1024K-1 partitions and subpartitions. For a discussion of factors that might impose practical limits less than this number, please refer to Oracle Database Administrator&#39;s Guide."},{"id":"text-177","heading":"Text","content":"You can create a partitioned table with just one partition. However, this is different from a nonpartitioned table. For instance, you cannot add a partition to a nonpartitioned table."},{"id":"text-178","heading":"Text","content":"range_values_clause \nSpecify the noninclusive upper bound for the current partition. The value list is an ordered list of literal values corresponding to the column list in the range_partitioning    clause. You can substitute the keyword MAXVALUE for any literal in in the value list. MAXVALUE specifies a maximum value that will always sort higher than any other value, including null.\nSpecifying a value other than MAXVALUE for the highest partition bound imposes an implicit integrity constraint on the table."},{"id":"text-179","heading":"Text","content":"Remarque:\nSi table    is partitioned on a DATE column, and if the date format does not specify the first two digits of the year, then you must use the TO_DATE function with the YYYY 4-character format mask for the year. le RRRR format mask is not supported in this clause. The date format is determined implicitly by NLS_TERRITORY or explicitly by NLS_DATE_FORMAT. Please refer to Oracle Database Globalization Support Guide for more information on these initialization parameters.\ntable_partition_description\nUtilisez le table_partition_description    to define the physical and storage characteristics of the table.\nle segment_attributes_clause    et table_compression    clause have the same function as described for the table_properties    of the table as a whole.\nle key_compression    clause and OVERFLOW clause have the same function as described for the index_org_table_clause .\nLOB_storage_clause le LOB_storage_clause    lets you specify LOB storage characteristics for one or more LOB items in this partition or in any list subpartitions of this partition. If you do not specify the LOB_storage_clause    for a LOB item, then the database generates a name for each LOB data partition. The system-generated names for LOB data and LOB index partitions take the form SYS_LOB_Pn    et SYS_IL_Pn, respectivement. The corresponding system-generated names for LOB data and index subpartitions are SYS_LOB_SUBPn    et SYS_IL_SUBPn, respectively\nvarray_col_properties le varray_col_properties    let you specify storage characteristics for one or more varray items in this partition or in any list subpartitions of this partition.\nRestriction on table_partition_description le partition_level_subpartition    clause is valid only for composite-partitioned tables. See partition_level_subpartition.\nhash_partitioning \nUtilisez le hash_partitioning    clause to specify that the table is to be partitioned using the hash method.\nOracle Database assigns rows to partitions using a hash function on values found in columns designated as the partitioning key. You can specify individual hash partitions or you can specify how many subpartitions the database should create.\ncolonne Specify an ordered list of columns used to determine into which partition a row belongs (the partitioning key).\nindividual_hash_partitions   Use this clause to specify individual partitions by name. If you omit the partition name, then the database assigns partition names of the form SYS_Pn.\nRestriction on Specifying Individual Hash Partitions The only clause you can specify in the partitioning_storage_clause    est le TABLESPACE clause."},{"id":"text-180","heading":"Text","content":"Remarque:\nIf your enterprise has or will have databases using different character sets, use caution when partitioning on character columns. The sort sequence of characters is not identical in all character sets. Please refer to Oracle Database Globalization Support Guide for more information on character set support.\nhash_partitions_by_quantity   Alternatively, you can specify the number of partitions. In this case, the database assigns partition names of the form SYS_Pn. le STORE DANS clause specifies one or more tablespaces where the hash partitions are to be stored. The number of tablespaces does not have to equal the number of partitions. If the number of partitions is greater than the number of tablespaces, then the database cycles through the names of the tablespaces.\nFor both methods of hash partitioning, for optimal load balancing you should specify a number of partitions that is a power of 2. Also for both methods of hash partitioning, the only attribute you can specify for hash partitions is TABLESPACE. Hash partitions inherit all other attributes from table-level defaults.\nTablespace storage specified at the table level is overridden by tablespace storage specified at the partition level, which in turn is overridden by tablespace storage specified at the subpartition level.\ndans le individual_hash_partitions    clause, the TABLESPACE clause of the partitioning_storage_clause    determines tablespace storage only for the individual partition being created. dans le hash_partitions_by_quantity    clause, the STORE DANS clause determines placement of partitions as the table is being created and the default storage location for subsequently added partitions.\nRestrictions on Hash Partitioning Hash partitioning is subject to the following restrictions:"},{"id":"text-181","heading":"Text","content":"You cannot specify more than 16 partitioning columns."},{"id":"text-182","heading":"Text","content":"The column list cannot contain the ROWID ou UROWID pseudocolumns."},{"id":"text-183","heading":"Text","content":"The column list can be of any built-in datatype except ROWID, LONG, or LOB."},{"id":"text-184","heading":"Text","content":"list_partitioning \nUtilisez le list_partitioning    clause to partition the table on lists of literal values from colonne. List partitioning is useful for controlling how individual rows map to specific partitions.\nIf you omit the partition name, then the database assigns partition names of the form SYS_Pn.\nlist_values_clause le list_values_clause    of each partition must have at least one value. No value, including NULL, can appear in more than one partition. List partitions are not ordered.\nIf you specify the literal NULL for a partition value in the VALUES clause, then to access data in that partition in subsequent queries, you must use an IS NULL condition in the OÙ clause, rather than a comparison condition.\nle DEFAULT keyword creates a partition into which the database will insert any row that does not map to another partition. Therefore, you can specify DEFAULT for only one partition, and you cannot specify any other values for that partition. Further, the default partition must be the last partition you define. The use of DEFAULT is similar to the use of MAXVALUE for range partitions.\nThe string comprising the list of values for each partition can be up to 4K bytes. The total number of values for all partitions cannot exceed 64K-1.\nRestrictions on List Partitioning List partitioning is subject to the following restrictions:"},{"id":"text-185","heading":"Text","content":"You cannot subpartition a list partition."},{"id":"text-186","heading":"Text","content":"You can specify only one partitioning key in column_list, and it cannot be a LOB column."},{"id":"text-187","heading":"Text","content":"If the partitioning key is an object type column, then you can partition on only one attribute of the column type."},{"id":"text-188","heading":"Text","content":"Each value in the list_values_clause    must be unique among all partitions of table."},{"id":"text-189","heading":"Text","content":"composite_partitioning \nUtilisez le composite_partitioning    clause to first partition table    by range, and then partition the partitions further into hash or list subpartitions. This combination of range partitioning and hash or list subpartitioning is called composite partitioning.\nAfter establishing the type of subpartitioning you want for each composite partition, using the subpartition_by_hash    ou subpartition_by_list    clause, you must define each of the range partitions."},{"id":"text-190","heading":"Text","content":"You must specify the range_values_clause    , which has the same requirements as for noncomposite range partitions."},{"id":"text-191","heading":"Text","content":"Utilisez le table_partition_description    to define the physical and storage characteristics of the each partition. Within the table_partition_description, you can use the partition_level_subpartition    clause to define the properties of individual subpartitions."},{"id":"text-192","heading":"Text","content":"If you omit the partition name, then the database generates a name with the form SYS_Pn."},{"id":"text-193","heading":"Text","content":"The only characteristic you can specify for a hash or list subpartition or a LOB subpartition is TABLESPACE."},{"id":"text-194","heading":"Text","content":"Restriction on Composite Partitioning You cannot specify composite partitioning for an index-organized table. Therefore, the OVERFLOW clause of the table_partition_description    is not valid for composite-partitioned tables.\nsubpartition_template le subpartition_template    is an optional element of both range-hash and range-list composite partitioning. The template lets you define default subpartitions for each table partition. Oracle Database will create these default subpartitions in any partition for which you do not explicitly define subpartitions. This clause is useful for creating symmetric partitions. You can override this clause by explicitly defining subpartitions at the partition level, in the partition_level_subpartition    clause.\nWhen defining subpartitions with a template, you must specify a name for each subpartition."},{"id":"text-195","heading":"Text","content":"Remarque:\nWhen you specify tablespace storage for the subpartition template, it does not override any tablespace storage you have specified explicitly for the partitions of table. To specify tablespace storage for subpartitions, do one of these things:"},{"id":"text-196","heading":"Text","content":"Omit tablespace storage at the partition level and specify tablespace storage in the subpartition template."},{"id":"text-197","heading":"Text","content":"Define individual subpartitions with specific tablespace storage."},{"id":"text-198","heading":"Text","content":"Restrictions on Subpartition Templates Subpartition templates are subject to the following restrictions:"},{"id":"text-199","heading":"Text","content":"For a range-hash composite-partitioned table, you cannot specify the list_values_clause."},{"id":"text-200","heading":"Text","content":"For a range-list composite-partitioned table, you cannot specify the hash_subpartition_quantity    clause."},{"id":"text-201","heading":"Text","content":"For both range-hash and range-list partitioned tables, the only clause of the partitioning_storage_clause    you can specify for subpartitions is the TABLESPACE clause."},{"id":"text-202","heading":"Text","content":"If you specify TABLESPACE for one subpartition, then you must specify TABLESPACE for all subpartitions. You can specify the same tablespace for more than one subpartition."},{"id":"text-203","heading":"Text","content":"If you specify TABLESPACE for one LOB subpartition, then you must specify TABLESPACE for all of the LOB subpartitions of that LOB column. You can specify the same tablespace for more than one LOB subpartition."},{"id":"text-204","heading":"Text","content":"If you specify separate LOB storage for list subpartitions using the partitioning_storage_clause, either in the subpartition_template    or when defining individual subpartitions, then you must specify LOB_segname    for both LOB and varray columns."},{"id":"text-205","heading":"Text","content":"subpartition_by_hash\nUtilisez le subpartition_by_hash    clause to indicate that the database should subpartition by hash each partition in table. The subpartitioning column list is unrelated to the partitioning key but is subject to the same restrictions (see colonne).\nYou can define the subpartitions using the subpartition_template    ou la SUBPARTITIONS quantité    clause. See subpartition_template. In either case, for optimal load balancing you should specify a number of partitions that is a power of 2.\nSUBPARTITIONS quantité Specify the default number of subpartitions in each partition of table, and optionally one or more tablespaces in which they are to be stored.\nThe default value is 1. If you omit both this clause and subpartition_template, then the database will create each partition with one hash subpartition unless you subsequently specify the partition_level_subpartition    clause.\nRestriction on Hash Subpartitioning In addition to the restrictions for composite partitioning in general (see composite_partitioning ), for hash subpartitioning in subpartition_template, you cannot specify the list_values_clause.\nsubpartition_by_list \nUtilisez le subpartition_by_list    clause to indicate that the database should subpartition each partition in table    by literal values from colonne.\nIf you omit subpartition_template, then you can define list subpartitions individually for each partition using the partition_level_subpartition    clause of table_partition_description. If you omit both subpartition_template    et partition_level_subpartition, then the database creates a single DEFAULT subpartition.\nRestrictions on List Subpartitioning List subpartitioning is subject to the following restrictions:\nIn addition to the restrictions for composite partitioning in general (see composite_partitioning ), for list subpartitioning:"},{"id":"text-206","heading":"Text","content":"You can specify only one subpartitioning key column."},{"id":"text-207","heading":"Text","content":"You must specify the list_values_clause, which is subject to the same requirements as at the table level."},{"id":"text-208","heading":"Text","content":"dans le subpartition_template, you cannot specify the hash_subpartition_quantity    clause."},{"id":"text-209","heading":"Text","content":"partition_level_subpartition\nThis clause of the table_partition_description    is valid only for composite-partitioned tables. This clause lets you specify hash or list subpartitions for cloison. This clause overrides the default settings established for range-hash composite partitions in the subpartition_by_hash    clause or for range-hash or range-list composite partitions in the subpartition_template.\nNotes on Composite Partitions The following notes apply to composite partitions:"},{"id":"text-210","heading":"Text","content":"You can specify the number of subpartitions and optionally one or more tablespaces where they are to be stored. In this case, Oracle Database assigns subpartition names of the form SYS_SUBPn. The number of tablespaces does not have to equal the number of subpartitions. If the number of partitions is greater than the number of tablespaces, then the database cycles through the names of the tablespaces."},{"id":"text-211","heading":"Text","content":"Alternatively, you can use the subpartition_spec    to specify individual subpartitions by name, and optionally the tablespace where each should be stored."},{"id":"text-212","heading":"Text","content":"If you omit partition_level_subpartition    and if you have created a subpartition template, then the database uses the template to create subpartitions. If you have not created a subpartition template, then the database creates one hash subpartition or one DEFAULT list subpartition."},{"id":"text-213","heading":"Text","content":"If you omit partition_level_subpartition    entirely, then the database assigns subpartition names as follows:"},{"id":"text-214","heading":"Text","content":"If you have specified a subpartition template et you have specified partition names, then the database generates subpartition names of the form partition_name    underscore (_) subpartition_name    (for example, P1_SUB1)."},{"id":"text-215","heading":"Text","content":"If you have not specified a subpartition template ou if you have specified a subpartition template but did not specify partition names, then the database generates subpartition names of the form SYS_SUBPn."},{"id":"text-216","heading":"Text","content":"Dans partition_spec, the only clause of the partitioning_storage_clause    you can specify is the TABLESPACE clause."},{"id":"text-217","heading":"Text","content":"For range-hash composite partitions, the list_values_clause    de subpartition_spec    is not relevant and is invalid.\nFor range-list composite partitions:"},{"id":"text-218","heading":"Text","content":"le hash_subpartition_quantity    is not relevant, so you specify subpartition_spec."},{"id":"text-219","heading":"Text","content":"Within subpartition_spec, you must specify the list_values_clause    for each subpartition, and the values you specify for each subpartition cannot exist in any other subpartition of the same partition."},{"id":"text-220","heading":"Text","content":"CACHE | NOCACHE | CACHE READS\nUtilisez le CACHE clauses to indicate how Oracle Database should store blocks in the buffer cache. If you specify neither CACHE nor NOCACHE, then:"},{"id":"text-221","heading":"Text","content":"Dans un CREATE TABLE statement, NOCACHE is the default"},{"id":"text-222","heading":"Text","content":"Dans un MODIFIER TABLE statement, the existing value is not changed."},{"id":"text-223","heading":"Text","content":"CACHE For data that is accessed frequently, this clause indicates that the blocks retrieved for this table are placed at the most recently used end of the least recently used (LRU) list in the buffer cache when a full table scan is performed. This attribute is useful for small lookup tables.\nAs a parameter in the LOB_storage_clause, CACHE specifies that the database places LOB data values in the buffer cache for faster access.\nRestriction on CACHE You cannot specify CACHE for an index-organized table. However, index-organized tables implicitly provide CACHE behavior.\nNOCACHE For data that is not accessed frequently, this clause indicates that the blocks retrieved for this table are placed at the least recently used end of the LRU list in the buffer cache when a full table scan is performed. NOCACHE is the default for LOB storage.\nAs a parameter in the LOB_storage_clause, NOCACHE specifies that the LOB value either is not brought into the buffer cache or is brought into the buffer cache and placed at the least recently used end of the LRU list. The latter is the default behavior.\nRestriction on NOCACHE You cannot specify NOCACHE for an index-organized table.\nCACHE READS CACHE READS applies only to LOB storage. It specifies that LOB values are brought into the buffer cache only during read operations but not during write operations."},{"id":"text-224","heading":"Text","content":"Voir également:\nlogging_clause    for a description of the logging_clause    when specified as part of LOB_parameters\nparallel_clause \nle parallel_clause    lets you parallelize creation of the table and set the default degree of parallelism for queries and the DML INSÉRER, UPDATE, DELETE, et MERGE after table creation."},{"id":"text-225","heading":"Text","content":"Remarque:\nThe syntax of the parallel_clause    supersedes syntax appearing in earlier releases of Oracle. Superseded syntax is still supported for backward compatibility but may result in slightly different behavior from that documented.\nNOPARALLEL Specify NOPARALLEL for serial execution. This is the default.\nPARALLEL  Specify PARALLEL if you want Oracle to select a degree of parallelism equal to the number of CPUs available on all participating instances times the value of the PARALLEL_THREADS_PER_CPU initialization parameter.\nPARALLEL entier Specification of entier    indicates the degree of parallelism, which is the number of parallel threads used in the parallel operation. Each parallel thread may use one or two parallel execution servers. Normally Oracle calculates the optimum degree of parallelism, so it is not necessary for you to specify entier.\nNOROWDEPENDENCIES | ROWDEPENDENCIES \nThis clause lets you specify whether table    will use row-level dependency tracking. With this feature, each row in the table has a system change number (SCN) that represents a time greater than or equal to the commit time of the last transaction that modified the row. You cannot change this setting after table    is created.\nROWDEPENDENCIES Specify ROWDEPENDENCIES if you want to enable row-level dependency tracking. This setting is useful primarily to allow for parallel propagation in replication environments. It increases the size of each row by 6 bytes.\nNOROWDEPENDENCIES Specify NOROWDEPENDENCIES if you do not want table    to use the row-level dependency tracking feature. This is the default.\nMONITORING | NOMONITORING \nIn earlier releases, you could use these clauses to start or stop the collection of modification statistics on this table. These clauses have been deprecated."},{"id":"text-226","heading":"Text","content":"If you formerly collected modification statistics on tables by using the DBMS_STATS package in GATHER AUTO ou GATHER STALE mode, then you no longer have to do anything. Oracle Database now collects these statistics automatically, and the MONITORING et NOMONITORING keywords in existing code will not cause an error."},{"id":"text-227","heading":"Text","content":"If, for performance reasons, you do not want to collect modification statistics on any tables, then you should set the STATISTICS_LEVEL initialization parameter to BASIC. Be aware, however, that doing so disables a number of manageability features."},{"id":"text-228","heading":"Text","content":"Voir également:\nOracle Database Reference for information on the STATISTICS_LEVEL initialization parameter, including its affect on Oracle Database manageability features\nenable_disable_clause \nle enable_disable_clause    lets you specify whether Oracle Database should apply a constraint. By default, constraints are created in ENABLE VALIDATE Etat.\nRestrictions on Enabling and Disabling Constraints Enabling and disabling constraints are subject to the following restrictions:"},{"id":"text-229","heading":"Text","content":"To enable or disable any integrity constraint, you must have defined the constraint in this or a previous statement."},{"id":"text-230","heading":"Text","content":"You cannot enable a foreign key constraint unless the referenced unique or primary key constraint is already enabled."},{"id":"text-231","heading":"Text","content":"ENABLE Clause Use this clause if you want the constraint to be applied to the data in the table. This clause is described fully in &quot;ENABLE Clause&quot; in the documentation on constraints.\nDISABLE Clause Use this clause if you want to disable the integrity constraint. This clause is described fully in &quot;DISABLE Clause&quot; in the documentation on constraints.\nUNIQUE  le UNIQUE clause lets you enable or disable the unique constraint defined on the specified column or combination of columns.\nPRIMARY KEY  le PRIMARY KEY clause lets you enable or disable the primary key constraint defined on the table.\nCONSTRAINT  le CONSTRAINT clause lets you enable or disable the integrity constraint named constraint.\nKEEP | DROP INDEX This clause lets you either preserve or drop the index Oracle Database has been using to enforce a unique or primary key constraint.\nRestriction on Preserving and Dropping Indexes You can specify this clause only when disabling a unique or primary key constraint.\nusing_index_clause  le using_index_clause    lets you specify an index for Oracle Database to use to enforce a unique or primary key constraint, or lets you instruct the database to create the index used to enforce the constraint. This clause is discussed fully in using_index_clause    in the documentation on constraints.\nCASCADE  Specify CASCADE to disable any integrity constraints that depend on the specified integrity constraint. To disable a primary or unique key that is part of a referential integrity constraint, you must specify this clause.\nRestriction on CASCADE You can specify CASCADE only if you have specified DISABLE.\nrow_movement_clause \nle row_movement_clause    lets you specify whether the database can move a table row. It is possible for a row to move, for example, during table compression or an update operation on partitioned data."},{"id":"text-232","heading":"Text","content":"Caution:\nIf you need static rowids for data access, do not enable row movement. For a normal (heap-organized) table, moving a row changes the rowid of the row. For a moved row in an index-organized table, the logical rowid remains valid, although the physical guess component of the logical rowid becomes inaccurate."},{"id":"text-233","heading":"Text","content":"Specify ENABLE to allow the database to move a row, thus changing the rowid."},{"id":"text-234","heading":"Text","content":"Specify DISABLE if you want to prevent the database from moving a row, thus preventing a change of rowid."},{"id":"text-235","heading":"Text","content":"If you omit this clause, then the database disables row movement.\nRestriction on Row Movement You cannot specify this clause for a nonpartitioned index-organized table.\nCOMME subquery \nSpecify a subquery to determine the contents of the table. The rows returned by the subquery are inserted into the table upon its creation.\nFor object tables, subquery    can contain either one expression corresponding to the table type, or the number of top-level attributes of the table type. Please refer to SELECT for more information.\nSi subquery    returns the equivalent of part or all of an existing materialized view, then the database may rewrite the query to use the materialized view in place of one or more tables specified in subquery.\nOracle Database derives datatypes and lengths from the subquery. Oracle Database follows the following rules for integrity constraints and other column and table attributes:"},{"id":"text-236","heading":"Text","content":"Oracle Database automatically defines on columns in the new table any NE PAS NULL constraints that were explicitly created on the corresponding columns of the selected table if the subquery selects the column rather than an expression containing the column. If any rows violate the constraint, then the database does not create the table and returns an error."},{"id":"text-237","heading":"Text","content":"NE PAS NULL constraints that were implicitly created by Oracle Database on columns of the selected table (for example, for primary keys) are not carried over to the new table."},{"id":"text-238","heading":"Text","content":"In addition, primary keys, unique keys, foreign keys, check constraints, partitioning criteria, indexes, and column default values are not carried over to the new table."},{"id":"text-239","heading":"Text","content":"If the selected table is partitioned, you can choose whether the new table will be partitioned the same way, partitioned differently, or not partitioned. Partitioning is not carried over to the new table. Specify any desired partitioning as part of the CREATE TABLE statement before the COMME subquery    clause."},{"id":"text-240","heading":"Text","content":"If all expressions in subquery    are columns, rather than expressions, then you can omit the columns from the table definition entirely. In this case, the names of the columns of table are the same as the columns in subquery.\nYou can use subquery    in combination with the TO_LOB function to convert the values in a LONG column in another table to LOB values in a column of the table you are creating.\nparallel_clause If you specify the parallel_clause    in this statement, then the database will ignore any value you specify for the INITIAL storage parameter and will instead use the value of the NEXT parameter.\nORDER BY le ORDER PAR clause lets you order rows returned by the subquery.\nWhen specified with CREATE TABLE, this clause does not necessarily order data across the entire table. For example, it does not order across partitions. Specify this clause if you intend to create an index on the same key as the ORDER PAR key column. Oracle Database will cluster data on the ORDER PAR key so that it corresponds to the index key.\nRestrictions on the Defining Query of a Table The table query is subject to the following restrictions:"},{"id":"text-241","heading":"Text","content":"The number of columns in the table must equal the number of expressions in the subquery."},{"id":"text-242","heading":"Text","content":"The column definitions can specify only column names, default values, and integrity constraints, not datatypes."},{"id":"text-243","heading":"Text","content":"You cannot define a foreign key constraint in a CREATE TABLE statement that contains COMME subquery. Instead, you must create the table without the constraint and then add it later with an MODIFIER TABLE déclaration."},{"id":"text-244","heading":"Text","content":"object_table \nle OF clause lets you explicitly create an object table of type object_type. The columns of an object table correspond to the top-level attributes of type object_type. Each row will contain an object instance, and each instance will be assigned a unique, system-generated object identifier when a row is inserted. If you omit schema, then the database creates the object table in your own schema.\nObject tables, as well as XMLType tables, object views, and XMLType views, do not have any column names specified for them. Therefore, Oracle defines a system-generated pseudocolumn OBJECT_ID. You can use this column name in queries and to create object views with the AVEC OBJECT IDENTIFIER clause.\nobject_table_substitution \nUtilisez le object_table_substitution    clause to specify whether row objects corresponding to subtypes can be inserted into this object table.\nNOT SUBSTITUTABLE AT ALL LEVELS NE PAS SUBSTITUTABLE À TOUT LEVELS indicates that the object table being created is not substitutable. In addition, substitution is disabled for all embedded object attributes and elements of embedded nested tables and arrays. The default is SUBSTITUTABLE À TOUT LEVELS.\nobject_properties\nThe properties of object tables are essentially the same as those of relational tables. However, instead of specifying columns, you specify attributes of the object.\nPour attribute, specify the qualified column name of an item in an object.\noid_clause\nle oid_clause    lets you specify whether the object identifier of the object table should be system generated or should be based on the primary key of the table. The default is SYSTEM GENERATED.\nRestrictions on the oid_clause This clause is subject to the following restrictions:"},{"id":"text-245","heading":"Text","content":"You cannot specify OBJECT IDENTIFIER IS PRIMARY KEY unless you have already specified a PRIMARY KEY constraint for the table."},{"id":"text-246","heading":"Text","content":"You cannot specify this clause for a nested table."},{"id":"text-247","heading":"Text","content":"Remarque:\nA primary key object identifier is locally unique but not necessarily globally unique. If you require a globally unique identifier, then you must ensure that the primary key is globally unique.\noid_index_clause\nThis clause is relevant only if you have specified the oid_clause    comme SYSTEM GENERATED. It specifies an index, and optionally its storage characteristics, on the hidden object identifier column.\nPour indice, specify the name of the index on the hidden system-generated object identifier column. If you omit indice, then the database generates a name.\nphysical_properties et table_properties\nThe semantics of these clauses are documented in the corresponding sections under relational tables. See physical_properties    et table_properties.\nXMLType_table \nUtilisez le XMLType_table    syntax to create a table of datatype XMLType. Most of the clauses used to create an XMLType table have the same semantics that exist for object tables. The clauses specific to XMLType tables are described in this section.\nObject tables, as well as XMLType tables, object views, and XMLType views, do not have any column names specified for them. Therefore, Oracle defines a system-generated pseudocolumn OBJECT_ID. You can use this column name in queries and to create object views with the AVEC OBJECT IDENTIFIER clause.\nXMLType_storage\nThis clause lets you determine how Oracle Database manages the storage of the underlying columns.\nOBJECT RELATIONAL Specify OBJECT RELATIONAL if you want the database to store the XMLType data in object relational columns. If you specify OBJECT RELATIONAL, then you must also specify an XMLSchema in the XMLSchema_storage_clause, and you must already have registered the schema using the DBMS_XMLSCHEMA package. Oracle Database will create the table conforming to the registered schema.\nCLOB Specify CLOB if you want the database to store the XML data in a CLOB column. If you specify CLOB, then you may also specify either a LOB segment name, or the LOB_parameters    clause, or both.\nXMLSchema_spec\nThis clause lets you specify the URL of a registered XMLSchema, either in the XMLSCHEMA clause or as part of the ÉLÉMENT clause, and an XML element name. You must specify an element, although the XMLSchema URL is optional. If you do specify an XMLSchema URL, then you must already have registered the XMLSchema using the DBMS_XMLSCHEMA package.\nExemples \nGeneral Examples\nThis statement shows how the employees table owned by the sample human resources (hr) schema was created. A hypothetical name is given to the table and constraints so that you can duplicate this example in your test database:"},{"id":"text-248","heading":"Text","content":"CREATE TABLE employees_demo\n    ( employee_id    NUMBER(6)\n    , first_name     VARCHAR2(20)\n    , last_name      VARCHAR2(25) \n         CONSTRAINT emp_last_name_nn_demo NOT NULL\n    , email          VARCHAR2(25) \n         CONSTRAINT emp_email_nn_demo     NOT NULL\n    , phone_number   VARCHAR2(20)\n    , hire_date      DATE  DEFAULT SYSDATE \n         CONSTRAINT emp_hire_date_nn_demo  NOT NULL\n    , job_id         VARCHAR2(10)\n       CONSTRAINT     emp_job_nn_demo  NOT NULL\n    , salary         NUMBER(8,2)\n       CONSTRAINT     emp_salary_nn_demo  NOT NULL\n    , commission_pct NUMBER(2,2)\n    , manager_id     NUMBER(6)\n    , department_id  NUMBER(4)\n    , dn             VARCHAR2(300)\n    , CONSTRAINT     emp_salary_min_demo\n                     CHECK (salary &gt; 0) \n    , CONSTRAINT     emp_email_uk_demo\n                     UNIQUE (email)\n    ) ;"},{"id":"text-249","heading":"Text","content":"This table contains twelve columns. le employee_id column is of datatype NUMBER. le hire_date column is of datatype DATE and has a default value of SYSDATE. le last_name column is of type VARCHAR2 and has a NE PAS NULL constraint, and so on.\nStorage Example To define the same employees_demo table in the example tablespace with a small storage capacity and limited allocation potential, issue the following statement:"},{"id":"text-250","heading":"Text","content":"CREATE TABLE employees_demo\n    ( employee_id    NUMBER(6)\n    , first_name     VARCHAR2(20)\n    , last_name      VARCHAR2(25) \n         CONSTRAINT emp_last_name_nn_demo NOT NULL\n    , email          VARCHAR2(25) \n         CONSTRAINT emp_email_nn_demo     NOT NULL\n    , phone_number   VARCHAR2(20)\n    , hire_date      DATE  DEFAULT SYSDATE \n         CONSTRAINT emp_hire_date_nn_demo  NOT NULL\n    , job_id         VARCHAR2(10)\n       CONSTRAINT     emp_job_nn_demo  NOT NULL\n    , salary         NUMBER(8,2)\n       CONSTRAINT     emp_salary_nn_demo  NOT NULL\n    , commission_pct NUMBER(2,2)\n    , manager_id     NUMBER(6)\n    , department_id  NUMBER(4)\n    , dn             VARCHAR2(300)\n    , CONSTRAINT     emp_salary_min_demo\n                     CHECK (salary &gt; 0) \n    , CONSTRAINT     emp_email_uk_demo\n                     UNIQUE (email)\n    )\n   TABLESPACE example \n   STORAGE (INITIAL     6144  \n            NEXT        6144 \n            MINEXTENTS     1  \n            MAXEXTENTS     5 );"},{"id":"text-251","heading":"Text","content":"Temporary Table Example The following statement creates a temporary table today_sales for use by sales representatives in the sample database. Each sales representative session can store its own sales data for the day in the table. The temporary data is deleted at the end of the session."},{"id":"text-252","heading":"Text","content":"CREATE GLOBAL TEMPORARY TABLE today_sales\n   ON COMMIT PRESERVE ROWS \n   AS SELECT * FROM orders WHERE order_date = SYSDATE;"},{"id":"text-253","heading":"Text","content":"Substitutable Table and Column Examples The following statement creates a substitutable table from the person_t type, which was created in &quot;Type Hierarchy Example&quot;:"},{"id":"text-254","heading":"Text","content":"CREATE TABLE persons OF person_t;"},{"id":"text-255","heading":"Text","content":"The following statement creates a table with a substitutable column of type person_t:"},{"id":"text-256","heading":"Text","content":"CREATE TABLE books (title VARCHAR2(100), author person_t);"},{"id":"text-257","heading":"Text","content":"When you insert into persons ou books, you can specify values for the attributes of person_t or any of its subtypes. Examples of insert statements appear in &quot;Inserting into a Substitutable Tables and Columns: Examples&quot;.\nYou can extract data from such tables using built-in functions and conditions. For examples, see the functions TREAT and SYS_TYPEID, and the &quot;IS OF type Condition&quot; condition.\nPARALLEL Example The following statement creates a table using an optimum number of parallel execution servers to scan employees and to populate dept_80:"},{"id":"text-258","heading":"Text","content":"CREATE TABLE dept_80\n   PARALLEL\n   AS SELECT * FROM employees\n   WHERE department_id = 80;"},{"id":"text-259","heading":"Text","content":"Using parallelism speeds up the creation of the table, because the database uses parallel execution servers to create the table. After the table is created, querying the table is also faster, because the same degree of parallelism is used to access the table.\nNOPARALLEL Example The following statement creates the same table serially. Subsequent DML and queries on the table will also be serially executed."},{"id":"text-260","heading":"Text","content":"CREATE TABLE dept_80\n   AS SELECT * FROM employees\n   WHERE department_id = 80;"},{"id":"text-261","heading":"Text","content":"ENABLE VALIDATE Example The following statement shows how the sample table departments was created. The example defines a NE PAS NULL constraint, and places it in ENABLE VALIDATE Etat. A hypothetical name is given to the table so that you can duplicate this example in your test database:"},{"id":"text-262","heading":"Text","content":"CREATE TABLE departments_demo\n    ( department_id    NUMBER(4)\n    , department_name  VARCHAR2(30)\n           CONSTRAINT  dept_name_nn  NOT NULL\n    , manager_id       NUMBER(6)\n    , location_id      NUMBER(4)\n    , dn               VARCHAR2(300)\n    ) ;"},{"id":"text-263","heading":"Text","content":"DISABLE Example The following statement creates the same departments_demo table but also defines a disabled primary key constraint:"},{"id":"text-264","heading":"Text","content":"CREATE TABLE departments_demo\n    ( department_id    NUMBER(4)   PRIMARY KEY DISABLE\n    , department_name  VARCHAR2(30)\n           CONSTRAINT  dept_name_nn  NOT NULL\n    , manager_id       NUMBER(6)\n    , location_id      NUMBER(4)\n    , dn               VARCHAR2(300)\n    ) ;"},{"id":"text-265","heading":"Text","content":"Nested Table Example The following statement shows how the sample table pm.print_media was created with a nested table column ad_textdocs_ntab:"},{"id":"text-266","heading":"Text","content":"CREATE TABLE print_media\n    ( product_id        NUMBER(6)\n    , ad_id             NUMBER(6)\n    , ad_composite      BLOB\n    , ad_sourcetext     CLOB\n    , ad_finaltext      CLOB\n    , ad_fltextn        NCLOB\n    , ad_textdocs_ntab  textdoc_tab\n    , ad_photo          BLOB\n    , ad_graphic        BFILE\n    , ad_header         adheader_typ\n    ) NESTED TABLE ad_textdocs_ntab STORE AS textdocs_nestedtab;"},{"id":"text-267","heading":"Text","content":"Multi-level Collection Example The following example shows how an account manager might create a table of customers using two levels of nested tables:"},{"id":"text-268","heading":"Text","content":"CREATE TYPE phone AS OBJECT (telephone NUMBER);\n/\nCREATE TYPE phone_list AS TABLE OF phone;\n/\nCREATE TYPE my_customers AS OBJECT (\n   cust_name VARCHAR2(25),\n   phones phone_list);\n/\nCREATE TYPE customer_list AS TABLE OF my_customers;\n/\nCREATE TABLE business_contacts (\n   company_name VARCHAR2(25),\n   company_reps customer_list)\n   NESTED TABLE company_reps STORE AS outer_ntab\n   (NESTED TABLE phones STORE AS inner_ntab);"},{"id":"text-269","heading":"Text","content":"The following variation of this example shows how to use the COLUMN_VALUE keyword if the inner nested table has no column or attribute name:"},{"id":"text-270","heading":"Text","content":"CREATE TYPE phone AS TABLE OF NUMBER;    \n/\nCREATE TYPE phone_list AS TABLE OF phone;\n/\nCREATE TABLE my_customers (\n   name VARCHAR2(25),\n   phone_numbers phone_list)\n   NESTED TABLE phone_numbers STORE AS outer_ntab\n   (NESTED TABLE COLUMN_VALUE STORE AS inner_ntab);"},{"id":"text-271","heading":"Text","content":"LOB Column Example The following statement is a variation of the statement that created the pm.print_media table with some added LOB storage characteristics:"},{"id":"text-272","heading":"Text","content":"CREATE TABLE print_media_new\n    ( product_id        NUMBER(6)\n    , ad_id             NUMBER(6)\n    , ad_composite      BLOB\n    , ad_sourcetext     CLOB\n    , ad_finaltext      CLOB\n    , ad_fltextn        NCLOB\n    , ad_textdocs_ntab  textdoc_tab\n    , ad_photo          BLOB\n    , ad_graphic        BFILE\n    , ad_header         adheader_typ\n    , press_release     LONG\n    ) NESTED TABLE ad_textdocs_ntab STORE AS textdocs_nestedtab_new\n    LOB (ad_sourcetext, ad_finaltext) STORE AS\n      (TABLESPACE example\n       STORAGE (INITIAL 6144 NEXT 6144)\n       CHUNK 4000\n       NOCACHE LOGGING);"},{"id":"text-273","heading":"Text","content":"In the example, the database rounds the value of CHUNK up to 4096 (the nearest multiple of the block size of 2048).\nIndex-Organized Table Example The following statement is a variation of the sample table hr.countries, which is index organized:"},{"id":"text-274","heading":"Text","content":"CREATE TABLE countries_demo\n    ( country_id      CHAR(2)\n      CONSTRAINT country_id_nn_demo NOT NULL\n    , country_name    VARCHAR2(40)\n    , currency_name   VARCHAR2(25)\n    , currency_symbol VARCHAR2(3)\n    , region          VARCHAR2(15)\n    , CONSTRAINT    country_c_id_pk_demo\n                    PRIMARY KEY (country_id ) )\n    ORGANIZATION INDEX \n    INCLUDING   country_name \n    PCTTHRESHOLD 2 \n    ESPACE DE RANGEMENT\n     ( INITIAL  4K \n      NEXT  2K \n      PCTINCREASE 0 \n      MINEXTENTS 1 \n      MAXEXTENTS 1 ) \n   OVERFLOW \n    ESPACE DE RANGEMENT\n      ( INITIAL  4K \n        NEXT  2K \n        PCTINCREASE 0 \n        MINEXTENTS 1 \n        MAXEXTENTS 1 );"},{"id":"text-275","heading":"Text","content":"External Table Example The following statement creates an external table that represents a subset of the sample table hr.departments. le opaque_format_spec    is shown in italics. Please refer to Oracle Database Utilities for information on the ORACLE_LOADER access driver and how to specify values for the opaque_format_spec."},{"id":"text-276","heading":"Text","content":"CREATE TABLE dept_external (\n   deptno     NUMBER(6),\n   dname      VARCHAR2(20),\n   loc        VARCHAR2(25) \n)\nORGANIZATION EXTERNAL\n(TYPE oracle_loader\n DEFAULT DIRECTORY admin\n ACCESS PARAMETERS\n (\n  RECORDS DELIMITED BY newline\n        BADFILE &#39;ulcase1.bad&#39;\n        DISCARDFILE &#39;ulcase1.dis&#39;\n        LOGFILE &#39;ulcase1.log&#39;\n        SKIP 20\n        FIELDS TERMINATED BY &quot;,&quot;  OPTIONALLY ENCLOSED BY &#39;&quot;&#39;\n        (\n            deptno     INTEGER EXTERNAL(6),\n            dname      CHAR(20),\n            loc        CHAR(25)\n  )\n )\n LOCATION (&#39;ulcase1.ctl&#39;)\n)\nREJECT LIMIT UNLIMITED;"},{"id":"text-277","heading":"Text","content":"XMLType Examples\nThis section contains brief examples of creating an XMLType table or XMLType column. For a more expanded version of these examples, please refer to &quot;Using XML in SQL Statements&quot;.\nXMLType Table Examples The following example creates a very simple XMLType table with one implicit CLOB column:"},{"id":"text-278","heading":"Text","content":"CREATE TABLE xwarehouses OF XMLTYPE;"},{"id":"text-279","heading":"Text","content":"Because Oracle Database implicitly stores the data in a CLOB column, it is subject to all of the restrictions on LOB columns. To avoid these restrictions, you can create an XMLSchema-based table, as shown in the following example. The XMLSchema must already have been created (see &quot;Using XML in SQL Statements&quot; for more information):"},{"id":"text-280","heading":"Text","content":"CREATE TABLE xwarehouses OF XMLTYPE\n   XMLSCHEMA &quot;http://www.oracle.com/xwarehouses.xsd&quot;\n   ELEMENT &quot;Warehouse&quot;;"},{"id":"text-281","heading":"Text","content":"You can define constraints on an XMLSchema-based table, and you can also create indexes on XMLSchema-based tables, which greatly enhance subsequent queries. You can create object-relational views on XMLType tables, and you can create XMLType views on object-relational tables.\nXMLType Column Examples The following example creates a table with an XMLType column stored as a CLOB. This table does not require an XMLSchema, so the content structure is not predetermined:"},{"id":"text-282","heading":"Text","content":"CREATE TABLE xwarehouses (\n   warehouse_id        NUMBER,\n   warehouse_spec      XMLTYPE)\n   XMLTYPE warehouse_spec STORE AS CLOB\n   (TABLESPACE example\n    STORAGE (INITIAL 6144 NEXT 6144)\n    CHUNK 4000\n    NOCACHE LOGGING);"},{"id":"text-283","heading":"Text","content":"The following example creates a similar table, but stores XMLType data in an object relational XMLType column whose structure is determined by the specified schema:"},{"id":"text-284","heading":"Text","content":"CREATE TABLE xwarehouses (\n   warehouse_id    NUMBER,\n   warehouse_spec  XMLTYPE)\n   XMLTYPE warehouse_spec STORE AS OBJECT RELATIONAL\n      XMLSCHEMA &quot;http://www.oracle.com/xwarehouses.xsd&quot;\n      ELEMENT &quot;Warehouse&quot;;"},{"id":"text-285","heading":"Text","content":"Partitioning Examples\nRange Partitioning Example le Ventes table in the sample schema sh is partitioned by range. The following example shows an abbreviated variation of the Ventes table. Constraints and storage elements have been omitted from the example."},{"id":"text-286","heading":"Text","content":"CREATE TABLE range_sales\n    ( prod_id        NUMBER(6)\n    , cust_id        NUMBER\n    , time_id        DATE\n    , channel_id     CHAR(1)\n    , promo_id       NUMBER(6)\n    , quantity_sold  NUMBER(3)\n    , amount_sold         NUMBER(10,2)\n    )\nPARTITION BY RANGE (time_id)\n  (PARTITION SALES_Q1_1998 VALUES LESS THAN (TO_DATE(&#39;01-APR-1998&#39;,&#39;DD-MON-YYYY&#39;)),\n   PARTITION SALES_Q2_1998 VALUES LESS THAN (TO_DATE(&#39;01-JUL-1998&#39;,&#39;DD-MON-YYYY&#39;)),\n   PARTITION SALES_Q3_1998 VALUES LESS THAN (TO_DATE(&#39;01-OCT-1998&#39;,&#39;DD-MON-YYYY&#39;)),\n   PARTITION SALES_Q4_1998 VALUES LESS THAN (TO_DATE(&#39;01-JAN-1999&#39;,&#39;DD-MON-YYYY&#39;)),\n   PARTITION SALES_Q1_1999 VALUES LESS THAN (TO_DATE(&#39;01-APR-1999&#39;,&#39;DD-MON-YYYY&#39;)),\n   PARTITION SALES_Q2_1999 VALUES LESS THAN (TO_DATE(&#39;01-JUL-1999&#39;,&#39;DD-MON-YYYY&#39;)),\n   PARTITION SALES_Q3_1999 VALUES LESS THAN (TO_DATE(&#39;01-OCT-1999&#39;,&#39;DD-MON-YYYY&#39;)),\n   PARTITION SALES_Q4_1999 VALUES LESS THAN (TO_DATE(&#39;01-JAN-2000&#39;,&#39;DD-MON-YYYY&#39;)),\n   PARTITION SALES_Q1_2000 VALUES LESS THAN (TO_DATE(&#39;01-APR-2000&#39;,&#39;DD-MON-YYYY&#39;)),\n   PARTITION SALES_Q2_2000 VALUES LESS THAN (TO_DATE(&#39;01-JUL-2000&#39;,&#39;DD-MON-YYYY&#39;)),\n   PARTITION SALES_Q3_2000 VALUES LESS THAN (TO_DATE(&#39;01-OCT-2000&#39;,&#39;DD-MON-YYYY&#39;)),\n   PARTITION SALES_Q4_2000 VALUES LESS THAN (MAXVALUE))\n;"},{"id":"text-287","heading":"Text","content":"For information about partitioned table maintenance operations, see Oracle Database Administrator&#39;s Guide.\nList Partitioning Example The following statement shows how the sample table oe.customers might have been created as a list-partitioned table. Some columns and all constraints of the sample table have been omitted in this example."},{"id":"text-288","heading":"Text","content":"CREATE TABLE list_customers \n   ( customer_id             NUMBER(6)\n   , cust_first_name         VARCHAR2(20) \n   , cust_last_name          VARCHAR2(20)\n   , cust_address            CUST_ADDRESS_TYP\n   , nls_territory           VARCHAR2(30)\n   , cust_email              VARCHAR2(30))\n   PARTITION BY LIST (nls_territory) (\n   PARTITION asia VALUES (&#39;CHINA&#39;, &#39;THAILAND&#39;),\n   PARTITION europe VALUES (&#39;GERMANY&#39;, &#39;ITALY&#39;, &#39;SWITZERLAND&#39;),\n   PARTITION west VALUES (&#39;AMERICA&#39;),\n   PARTITION east VALUES (&#39;INDIA&#39;),\n   PARTITION rest VALUES (DEFAULT));"},{"id":"text-289","heading":"Text","content":"Partitioned Table with LOB Columns Example This statement creates a partitioned table print_media_demo with two partitions p1 et p2, and a number of LOB columns. The statement uses the sample table pm.print_media, but the LONG colonne press_release is omitted because LONG columns are not supported in partitioning."},{"id":"text-290","heading":"Text","content":"CREATE TABLE print_media_demo\n   ( product_id NUMBER(6)\n   , ad_id NUMBER(6)\n   , ad_composite BLOB\n   , ad_sourcetext CLOB\n   , ad_finaltext CLOB\n   , ad_fltextn NCLOB\n   , ad_textdocs_ntab textdoc_tab\n   , ad_photo BLOB\n   , ad_graphic BFILE\n   , ad_header adheader_typ\n   ) NESTED TABLE ad_textdocs_ntab STORE AS textdocs_nestedtab_demo\n      LOB (ad_composite, ad_photo, ad_finaltext)\n      STORE AS(STORAGE (NEXT 20M))\n   PARTITION BY RANGE (product_id)\n      (PARTITION p1 VALUES LESS THAN (3000) TABLESPACE tbs_01\n         LOB (ad_composite, ad_photo)\n         STORE AS (TABLESPACE tbs_02 STORAGE (INITIAL 10M)),\n       PARTITION P2 VALUES LESS THAN (MAXVALUE)\n         LOB (ad_composite, ad_finaltext)\n         STORE AS (TABLESPACE tbs_03)\n       )\n   TABLESPACE tbs_04;"},{"id":"text-291","heading":"Text","content":"Partition p1 will be in tablespace tbs_1. The LOB data partitions for ad_composite et ad_photo will be in tablespace tbs_2. The LOB data partition for the remaining LOB columns will be in tablespace tbs_1. The storage attribute INITIAL is specified for LOB columns ad_composite et ad_photo. Other attributes will be inherited from the default table-level specification. The default LOB storage attributes not specified at the table level will be inherited from the tablespace tbs_2 for columns ad_composite et ad_photo and from tablespace tbs_1 for the remaining LOB columns. LOB index partitions will be in the same tablespaces as the corresponding LOB data partitions. Other storage attributes will be based on values of the corresponding attributes of the LOB data partitions and default attributes of the tablespace where the index partitions reside.\nPartition p2 will be in the default tablespace tbs_4. The LOB data for ad_composite et ad_finaltext will be in tablespace tbs_3. The LOB data for the remaining LOB columns will be in tablespace tbs_4. The LOB index for columns ad_composite et ad_finaltext will be in tablespace tbs_3. The LOB index for the remaining LOB columns will be in tablespace tbs_4.\nHash Partitioning Example The sample table oe.product_information is not partitioned. However, you might want to partition such a large table by hash for performance reasons, as shown in this example. The tablespace names are hypothetical in this example."},{"id":"text-292","heading":"Text","content":"CREATE TABLE hash_products \n    ( product_id          NUMBER(6) \n    , product_name        VARCHAR2(50) \n    , product_description VARCHAR2(2000) \n    , category_id         NUMBER(2) \n    , weight_class        NUMBER(1) \n    , warranty_period     INTERVAL YEAR TO MONTH \n    , supplier_id         NUMBER(6) \n    , product_status      VARCHAR2(20) \n    , list_price          NUMBER(8,2) \n    , min_price           NUMBER(8,2) \n    , catalog_url         VARCHAR2(50) \n    , CONSTRAINT          product_status_lov_demo \n                          CHECK (product_status in (&#39;orderable&#39; \n                                                  ,&#39;planned&#39; \n                                                  ,&#39;under development&#39; \n                                                  ,&#39;obsolete&#39;) \n ) ) \n PARTITION BY HASH (product_id) \n PARTITIONS 5 \n STORE IN (tbs_01, tbs_02, tbs_03, tbs_04);"},{"id":"text-293","heading":"Text","content":"Composite-Partitioned Table Examples The table created in the &quot;Range Partitioning Example&quot; divides data by time of sale. If you plan to access recent data according to distribution channel as well as time, then composite partitioning might be more appropriate. The following example creates a copy of that range_sales table but specifies range-hash composite partitioning. The partitions with the most recent data are subpartitioned with both system-generated and user-defined subpartition names. Constraints and storage attributes have been omitted from the example."},{"id":"text-294","heading":"Text","content":"CREATE TABLE composite_sales\n    ( prod_id        NUMBER(6)\n    , cust_id        NUMBER\n    , time_id        DATE\n    , channel_id     CHAR(1)\n    , promo_id       NUMBER(6)\n    , quantity_sold  NUMBER(3)\n    , amount_sold         NUMBER(10,2)\n    )\nPARTITION BY RANGE (time_id)\nSUBPARTITION BY HASH (channel_id)\n  (PARTITION SALES_Q1_1998 VALUES LESS THAN (TO_DATE(&#39;01-APR-1998&#39;,&#39;DD-MON-YYYY&#39;)),\n   PARTITION SALES_Q2_1998 VALUES LESS THAN (TO_DATE(&#39;01-JUL-1998&#39;,&#39;DD-MON-YYYY&#39;)),\n   PARTITION SALES_Q3_1998 VALUES LESS THAN (TO_DATE(&#39;01-OCT-1998&#39;,&#39;DD-MON-YYYY&#39;)),\n   PARTITION SALES_Q4_1998 VALUES LESS THAN (TO_DATE(&#39;01-JAN-1999&#39;,&#39;DD-MON-YYYY&#39;)),\n   PARTITION SALES_Q1_1999 VALUES LESS THAN (TO_DATE(&#39;01-APR-1999&#39;,&#39;DD-MON-YYYY&#39;)),\n   PARTITION SALES_Q2_1999 VALUES LESS THAN (TO_DATE(&#39;01-JUL-1999&#39;,&#39;DD-MON-YYYY&#39;)),\n   PARTITION SALES_Q3_1999 VALUES LESS THAN (TO_DATE(&#39;01-OCT-1999&#39;,&#39;DD-MON-YYYY&#39;)),\n   PARTITION SALES_Q4_1999 VALUES LESS THAN (TO_DATE(&#39;01-JAN-2000&#39;,&#39;DD-MON-YYYY&#39;)),\n   PARTITION SALES_Q1_2000 VALUES LESS THAN (TO_DATE(&#39;01-APR-2000&#39;,&#39;DD-MON-YYYY&#39;)),\n   PARTITION SALES_Q2_2000 VALUES LESS THAN (TO_DATE(&#39;01-JUL-2000&#39;,&#39;DD-MON-YYYY&#39;))\n      SUBPARTITIONS 8,\n   PARTITION SALES_Q3_2000 VALUES LESS THAN (TO_DATE(&#39;01-OCT-2000&#39;,&#39;DD-MON-YYYY&#39;))\n     (SUBPARTITION ch_c,\n      SUBPARTITION ch_i,\n      SUBPARTITION ch_p,\n      SUBPARTITION ch_s,\n      SUBPARTITION ch_t),\n   PARTITION SALES_Q4_2000 VALUES LESS THAN (MAXVALUE)\n      SUBPARTITIONS 4)\n;"},{"id":"text-295","heading":"Text","content":"The following examples creates a partitioned table of customers based on the sample table oe.customers. In this example, the table is partitioned on the credit_limit column and list subpartitioned on the nls_territory column. The subpartition template determines the subpartitioning of any subsequently added partitions, unless you override the template by defining individual subpartitions. This composite partitioning makes it possible to query the table based on a credit limit range within a specified region:"},{"id":"text-296","heading":"Text","content":"CREATE TABLE customers_part (\n   customer_id        NUMBER(6),\n   cust_first_name    VARCHAR2(20),\n   cust_last_name     VARCHAR2(20),\n   nls_territory      VARCHAR2(30),\n   credit_limit       NUMBER(9,2)) \n   PARTITION BY RANGE (credit_limit)\n   SUBPARTITION BY LIST (nls_territory)\n      SUBPARTITION TEMPLATE \n         (SUBPARTITION east  VALUES \n            (&#39;CHINA&#39;, &#39;JAPAN&#39;, &#39;INDIA&#39;, &#39;THAILAND&#39;),\n          SUBPARTITION west VALUES \n             (&#39;AMERICA&#39;, &#39;GERMANY&#39;, &#39;ITALY&#39;, &#39;SWITZERLAND&#39;),\n          SUBPARTITION other VALUES (DEFAULT))\n      (PARTITION p1 VALUES LESS THAN (1000),\n       PARTITION p2 VALUES LESS THAN (2500),\n       PARTITION p3 VALUES LESS THAN (MAXVALUE));"},{"id":"text-297","heading":"Text","content":"Object Column and Table Examples\nCreating Object Tables: Examples Consider object type department_typ:"},{"id":"text-298","heading":"Text","content":"CREATE TYPE department_typ AS OBJECT\n   ( d_name   VARCHAR2(100), \n     d_address VARCHAR2(200) );\n/"},{"id":"text-299","heading":"Text","content":"Object table departments_obj_t holds department objects of type department_typ:"},{"id":"text-300","heading":"Text","content":"CREATE TABLE departments_obj_t OF department_typ;"},{"id":"text-301","heading":"Text","content":"The following statement creates object table salesreps with a user-defined object type, salesrep_typ:"},{"id":"text-302","heading":"Text","content":"CREATE OR REPLACE TYPE salesrep_typ AS OBJECT\n  ( repId NUMBER,\n    repName VARCHAR2(64));"},{"id":"text-303","heading":"Text","content":"CREATE TABLE salesreps OF salesrep_typ;"},{"id":"text-304","heading":"Text","content":"Creating a Table with a User-Defined Object Identifier: Example This example creates an object type and a corresponding object table whose object identifier is primary key based:"},{"id":"text-305","heading":"Text","content":"CREATE TYPE employees_typ AS OBJECT \n   (e_no NUMBER, e_address CHAR(30));\n/"},{"id":"text-306","heading":"Text","content":"CREATE TABLE employees_obj_t OF employees_typ (e_no PRIMARY KEY)\n   OBJECT IDENTIFIER IS PRIMARY KEY;"},{"id":"text-307","heading":"Text","content":"You can subsequently reference the employees_object_t object table using either inline_ref_constraint    ou out_of_line_ref_constraint    syntax"},{"id":"text-308","heading":"Text","content":"CREATE TABLE departments_t \n   (d_no    NUMBER,\n    mgr_ref REF employees_typ SCOPE IS employees_obj_t);"},{"id":"text-309","heading":"Text","content":"CREATE TABLE departments_t (\n    d_no NUMBER,\n    mgr_ref REF employees_typ \n       CONSTRAINT mgr_in_emp REFERENCES employees_obj_t);"},{"id":"text-310","heading":"Text","content":"Specifying Constraints on Type Columns: Example The following example shows how to define constraints on attributes of an object type column:"},{"id":"text-311","heading":"Text","content":"CREATE TYPE address_t AS OBJECT\n  ( hno    NUMBER,\n    street VARCHAR2(40),\n    city   VARCHAR2(20),\n    zip    VARCHAR2(5),\n    phone  VARCHAR2(10) );\n/"},{"id":"text-312","heading":"Text","content":"CREATE TYPE person AS OBJECT\n  ( name        VARCHAR2(40),\n    dateofbirth DATE,\n    homeaddress address_t,\n    manager     REF person );\n/"},{"id":"text-313","heading":"Text","content":"CREATE TABLE persons OF person\n  ( homeaddress NOT NULL,\n      UNIQUE (homeaddress.phone),\n      CHECK (homeaddress.zip IS NOT NULL),\n      CHECK (homeaddress.city &lt;&gt; &#39;San Francisco&#39;) );"},{"id":"text-314","heading":"Text","content":"Click to rate this post!\n                                   \n                               [Total: 0  Average: 0]"}],"media":{"primary_image":""},"relations":[{"rel":"canonical","href":"https://tutos-gameserver.fr/2019/10/06/creer-la-table-bien-choisir-son-serveur-d-impression/"},{"rel":"alternate","href":"https://tutos-gameserver.fr/2019/10/06/creer-la-table-bien-choisir-son-serveur-d-impression/llm","type":"text/html"},{"rel":"alternate","href":"https://tutos-gameserver.fr/2019/10/06/creer-la-table-bien-choisir-son-serveur-d-impression/llm.json","type":"application/json"},{"rel":"llm-manifest","href":"https://tutos-gameserver.fr/llm-endpoints-manifest.json","type":"application/json"}],"http_headers":{"X-LLM-Friendly":"1","X-LLM-Schema":"1.1.0","Content-Security-Policy":"default-src 'none'; img-src * data:; style-src 'unsafe-inline'"},"license":"CC BY-ND 4.0","attribution_required":true,"allow_cors":false}