VENTES: 1-800-867-1389

CREATE TABLE (Base de données SQL Azure)

Mis à jour: avril 2014

Cette rubrique est obsolète. La version actualisée est disponible à la page Référence SQL 14 Transact-SQL.

ImportantImportant
Cette rubrique n'est pas tenue à jour. Pour obtenir la version actuelle, consultez CREATE TABLE (Transact-SQL).

Crée une table.

Conventions de syntaxe (Base de données SQL Azure)


CREATE TABLE 
    [ database_name . [ schema_name ] . | schema_name . ] table_name 
    ( { <column_definition> | <computed_column_definition> 
        | <column_set_definition> } 
        [ <table_constraint> ] [ ,...n ] ) 
FEDERATED ON (distribution_name = column_name)
[ ; ]

<column_definition> ::=column_name <data_type>
    [ COLLATE collation_name ] 

    [ NULL | NOT NULL ]
    [ 
        [ CONSTRAINT constraint_name ] DEFAULT constant_expression ] 
      | [ IDENTITY [ ( seed ,increment ) ] 
    ]
  [ <column_constraint> [ ...n ] ]
  [ SPARSE ]
  
<data type> ::= 
[ type_schema_name . ] type_name 
    [ (precision [ ,scale ] | max 
] 

<column_constraint> ::= 
[ CONSTRAINT constraint_name ] 
{     { PRIMARY KEY | UNIQUE } 
        [ CLUSTERED | NONCLUSTERED ] 
        [ 
          WITH ( < index_option > [ , ...n ] ) 
        ] 
| [ FOREIGN KEY ] 
        REFERENCES [ schema_name . ] referenced_ table_name [ ( ref_column ) ] 
        [ ON DELETE { NO ACTION | CASCADE | SET NULL | SET DEFAULT } ] 
        [ ON UPDATE { NO ACTION | CASCADE | SET NULL | SET DEFAULT } ] 
  | CHECK  (logical_expression ) 
} 

<computed_column_definition> ::=column_name AS computed_column_expression 
[ PERSISTED [ NOT NULL ] ]
[ 
    [ CONSTRAINT constraint_name ]
    { PRIMARY KEY | UNIQUE }
        [ CLUSTERED | NONCLUSTERED ]
        [ 
          WITH ( <index_option> [ , ...n ] )
        ]
    | [ FOREIGN KEY ] 
        REFERENCES referenced_table_name [ (ref_column ) ] 
        [ ON DELETE { NO ACTION | CASCADE } ] 
        [ ON UPDATE { NO ACTION } ] 
   [ NOT FOR REPLICATION ] 
    | CHECK (logical_expression ) 
] 

<column_set_definition> ::= 
column_set_name XML COLUMN_SET FOR ALL_SPARSE_COLUMNS

< table_constraint > ::=
[ CONSTRAINT constraint_name ] 
{ 
    { PRIMARY KEY | UNIQUE } 
        [ CLUSTERED | NONCLUSTERED ] 
        (column [ ASC | DESC ] [ ,...n ] ) 
        [ 
           WITH ( <index_option> [ , ...n ] ) 
        ]
  
    | FOREIGN KEY 
        ( column [ ,...n ] ) 
        REFERENCES referenced_table_name [ (ref_column [ ,...n ] ) ] 
        [ ON DELETE { NO ACTION | CASCADE | SET NULL | SET DEFAULT } ] 
        [ ON UPDATE { NO ACTION | CASCADE | SET NULL | SET DEFAULT } ] 

    | CHECK (logical_expression ) 
} 

<index_option> ::=
{ 
  IGNORE_DUP_KEY = { ON | OFF } 
  | STATISTICS_NORECOMPUTE = { ON | OFF } 
}

Ce diagramme de syntaxe montre les arguments et options pris en charge dans Microsoft Base de données SQL Microsoft Azure. 

Base de données SQL Microsoft Azure ne prend pas en charge les arguments et options suivants lors de l'utilisation de l'instruction CREATE TABLE :

  • Mot clé ON { partition_schema_name | filegroup | "default" }

  • TEXTIMAGE_ON

  • FILESTREAM_ON

  • <column_definition> :

    • FILESTREAM

    • NOT FOR REPLICATION

    • ROWGUIDCOL

  • <data type> :

    • CONTENT

    • DOCUMENT

    • xml_schema_collection

  • <column_constraint> :

    • FILLFACTOR

    • ON

    • NOT FOR REPLICATION

  • <computed_column_definition> :

    • FILLFACTOR

    • NOT FOR REPLICATION

    • ON

  • <table_constraint> :

    • FILLFACTOR

    • ON

    • NOT FOR REPLICATION

  • <table_option>

  • <index_option> :

    • PAD_INDEX

    • FILLFACTOR

    • ALLOW_ROW_LOCKS

    • ALLOW_PAGE_LOCKS

    • DATA_COMPRESSION

    • ON PARTITIONS

noteRemarque
Base de données SQL Microsoft Azure prend en charge le format de nom en trois parties database_name.[schema_name].object_name lorsque database_name est la base de données actuelle ou que database_name est tempdb et que object_name commence par #.

Base de données SQL Microsoft Azure ne prend pas en charge les noms en quatre parties.

Les colonnes SPARSE peuvent être interrogées par tous les pilotes clients pris en charge par Base de données SQL Microsoft Azure ; toutefois, à l'heure actuelle, seul le pilote ODBC Native Client SQL Server 2008 ou version supérieure prend complètement en charge la compression des valeurs NULL dans un jeu de résultats.

ImportantImportant
La mise en œuvre actuelle des fédérations sera hors service avec les couches de service Web et Business. Envisagez de déployer des solutions de partitionnement personnalisées pour maximiser l'évolutivité, la souplesse et les performances. Pour plus d'informations sur le partitionnement personnalisé, consultez la rubrique Montée en puissance parallèle de bases de données SQL Azure.

La clause FEDERATED ON crée la table en tant que table fédérée avec une fédération existante, et applique la contrainte de distribution (distribution_name) de la fédération à la colonne de fédération spécifiée dans la table (column_name). Les tables fédérées présentent les caractéristiques suivantes :

  • La colonne de fédération de la table fédérée ne peut contenir que des données qui confirment au membre de fédération range_low inclusif et range_high exclusif.

  • Le datatype de la colonne de fédération doit correspondre exactement au type de données indiqué dans la définition de la fédération.

  • Tous les index uniques et cluster de la table fédérée doivent contenir la colonne de fédération. L'ordre dans lequel la colonne de fédération s'affiche dans l'index peut être différent de la valeur ordinale de la clé dans la fédération.

  • Les valeurs de la colonne de fédération ne peuvent pas être mises à jour avec des valeurs en dehors de la plage du membre de fédération.

  • La colonne de fédération ne peut pas être une colonne calculée persistante ou non persistante.

  • Des vues indexées ne peuvent pas être créées sur des tables fédérées.

  • Les colonnes de fédération n'acceptent pas les valeurs Null.

  • Toutes les contraintes de clé étrangère sur des tables fédérées doivent inclure la colonne de fédération sur les tables de référence et les tables référencées à la même valeur ordinale dans la clé étrangère. Les tables de référence ne peuvent pas avoir des relations de clé étrangère avec des tables fédérées. Les tables fédérées peuvent avoir des relations de clé étrangère avec des tables de référence sans limitation.

  • Vous pouvez normalement supprimer des tables créées avec la clause FEDERATED ON. Vous pouvez également utiliser ALTER TABLE pour modifier toutes les propriétés d'une table fédérée à l'exception des attributs de fédération tels que les clés. Pour modifier une table de référence en table fédérée ou une table fédérée en table de référence, vous devez créer de nouvelles tables avec les propriétés souhaitées et supprimer la table existante.

  • Lorsqu'une table est marquée avec STATISTICS_NORECOMPUTE, les opérations de fédération telles que SPLIT n'invalident ou ne recalculent pas les statistiques. Ceci peut entraîner des problèmes de plan d'exécution après des opérations de repartitionnement telles que SPLIT.

  • Les tables fédérées ne prennent pas en charge la propriété d'identité

  • Les tables fédérées ne prennent pas en charge les types de données timestamp et rowversion.

Pour plus d'informations sur les arguments et l'instruction CREATE TABLE, consultez CREATE TABLE (Transact-SQL) dans la documentation en ligne de SQL Server.

Base de données SQL Microsoft Azure ne prenant pas en charge les tables de segments de mémoire, une table doit avoir un index cluster. Si une table est créée sans contrainte cluster, un index cluster doit être créé pour qu'une opération d'insertion soit autorisée sur la table.

Cela vous a-t-il été utile ?
(1500 caractères restants)
Merci pour vos suggestions.
Afficher:
© 2014 Microsoft