Crée une table.
Remarque : Le moteur de base de données Access ne prend pas en charge l’utilisation de l’instruction CREATE TABLE ou de toute instruction DDL avec des bases de données d’un moteur de base de données autre que Microsoft Access. Utilisez plutôt les méthodes Create de DAO (Data Access Objects).
Syntaxe
CREATE [TEMPORARY] TABLE table (field1 type [(size)] [NOT NULL] [WITH COMPRESSION | WITH COMP] [index1] [, field2type [(size)] [NOT NULL] [index2] [, ...]] [, CONSTRAINT multifieldindex [, ...]])
L’instruction CREATE TABLE comprend les parties suivantes :
Partie |
Description |
table |
Nom de la table à créer. |
field1, field2 |
Nom du ou des champs à créer dans la nouvelle table. Vous devez créer au moins un champ. |
type |
Type de données de field dans la nouvelle table. |
size |
Taille du champ en caractères (champs de types Texte et Binaire uniquement). |
index1, index2 |
Clause CONSTRAINT définissant un index de champ unique. |
multifieldindex |
Clause CONSTRAINT définissant un index multi-champ. |
Remarques
L’instruction CREATE TABLE permet de définir une nouvelle table, ses champs et ses contraintes de champ. Si vous spécifiez NOT NULL pour un champ, de nouveaux enregistrements sont requis pour insérer des données valides dans ce champ.
Une clause CONSTRAINT établit diverses restrictions sur un champ, et peut être utilisée pour établir la clé primaire. Vous pouvez également utiliser l’instruction CREATE INDEX pour créer une clé primaire ou des index supplémentaires sur des tables existantes.
Vous pouvez utiliser l’instruction NON NULL sur un champ unique ou à l’intérieur d’une clause CONSTRAINT nommée qui s’applique à une instruction CONSTRAINT nommée portant sur un ou plusieurs champs. Toutefois, vous ne pouvez appliquer la restriction NON NULL qu’une seule fois à un champ. Une tentative d’appliquer cette restriction plusieurs fois génère une erreur d’exécution.
Quand une table TEMPORAIRE est créée, elle est visible uniquement à l’intérieur de la session dans laquelle elle a été créée. Elle est supprimée automatiquement à la fin de la session. Les tables temporaires sont accessible par plusieurs utilisateurs.
L’attribut WITH COMPRESSION peut être utilisé uniquement avec les types de données CARACTÈRE et MÉMO (également appelé TEXTE) et leurs synonymes.
L’attribut WITH COMPRESSION a été ajouté pour les colonnes de type CARACTÈRE en raison de la modification du format de représentation de caractère Unicode. Les caractères Unicode nécessitent uniformément deux octets par caractère. Pour les bases de données Microsoft Access existantes contenant principalement des données de type caractère, cela pourrait signifier que le fichier de base de données doublerait de taille après conversion au format Microsoft Access. Cependant, la représentation Unicode de nombreux jeux de caractères, précédemment dénommés jeux de caractères codés sur un octet (SBCS, Single-Byte Character Sets), peut facilement être compressée à un seul octet. Si vous définissez une colonne de type CARACTÈRE avec cet attribut, les données sont automatiquement compressées pour le stockage, et décompressées lors de leur extraction de la colonne.
Des colonnes de type MÉMO peuvent également être définies pour stocker des données dans un format compressé. Il existe cependant une limitation. Seules les instances de colonnes de type MÉMO qui, une fois compressées, ne dépassent pas 4 096 octets, sont compressées. Les autres instances des colonnes de type MÉMO ne sont pas compressées. Cela signifie que, dans un tableau donné, pour une colonne de type MÉMO donnée, certaines données peuvent être compressées et d’autres pas.