Instruction CREATE TABLE

L'instruction CREATE TABLE permet de créer une table dans un fichier de base de données. La syntaxe de l'instruction CREATE TABLE est la suivante :

Copier
CREATE TABLE nom_table ( liste_éléments_de_table [, liste_éléments_de_table...] )

Dans cette instruction, vous devez indiquer le nom et le type de données de chaque colonne.

  • nom_table correspond au nom de la table. nom_table possède une limite de 100 caractères. Aucune table portant ce nom ne doit avoir été définie. Le nom de la table doit commencer par un caractère alphabétique. Si le nom de la table commence par un caractère autre qu'un caractère alphabétique ou contient un point (.), placez-le entre des guillemets doubles (identifiant cité).

  • Le format de liste_éléments_table est le suivant :

    Copier
    nom_rubrique type_rubrique [[répétitions]]
    [DEFAULT expr] [UNIQUE | NOT NULL | PRIMARY KEY | GLOBAL
    [EXTERNAL chaîne_chemin_relatif [SECURE | OPEN chaîne_chemin_calc]]
  • nom_rubrique correspond au nom de la rubrique. Les noms de rubriques doivent être uniques. Les noms des rubriques commencent par un caractère alphabétique. Si le nom d'une rubrique commence par un caractère autre qu'un caractère alphabétique ou contient un point (.), placez-le entre des guillemets doubles (identifiant cité).

    Exemple

    L'instruction CREATE TABLE de la rubrique intitulée _NOMFAMILLE est :

    Copier
    CREATE TABLE "_EMPLOYES" (ID INT PRIMARY KEY, "_PRENOM" VARCHAR(20), "_NOMFAMILLE" VARCHAR(20))
  • Pour les répétitions de l'instruction CREATE TABLE, spécifiez une rubrique multivaluée en utilisant un nombre entre 1 et 32000 entre crochets après le type de rubrique.

    Exemple

    Copier
    ID_EMPLOYE INT[4]
    NOMFAMILLE VARCHAR(20)[4]
  • type_rubrique peut être l'un des éléments suivants : NUMERIC, DECIMAL, INT, DATE, TIME, TIMESTAMP, VARCHAR, CHARACTER VARYING, BLOB, VARBINARY, LONGVARBINARY ou BINARY VARYING. Pour NUMERIC et DECIMAL, vous pouvez définir la précision et l'échelle. Par exemple : DECIMAL(10,0). Pour TIME et TIMESTAMP, vous pouvez définir la précision. Par exemple : TIMESTAMP(6). Pour VARCHAR et CHARACTER VARYING, vous pouvez définir la longueur de la chaîne.

    Exemple

    Copier
    VARCHAR(255)
  • Le mot-clé DEFAULT vous permet de définir une valeur par défaut pour une colonne. Pour expr, vous pouvez utiliser une valeur constante ou une expression. Les expressions autorisées sont les suivantes : USER, USERNAME, CURRENT_USER, CURRENT_DATE, CURDATE, CURRENT_TIME, CURTIME, CURRENT_TIMESTAMP, CURTIMESTAMP et NULL.

  • Quand vous définissez une colonne comme étant UNIQUE, l'option de validation Unique est sélectionnée automatiquement pour la rubrique correspondante dans le fichier de base de données FileMaker Pro.

  • Quand vous définissez une colonne en tant que NOT NULL, l'option de validation Non Vide est sélectionnée automatiquement pour la rubrique correspondante dans le fichier de base de données FileMaker Pro. La rubrique est marquée en tant que Valeur requise dans l'onglet Rubriques de la boîte de dialogue Gérer la base de données de FileMaker Pro.

  • Pour définir une colonne en tant que rubrique Conteneur, utilisez BLOB, VARBINARY, ou BINARY VARYING en guise de type_rubrique.

  • Pour définir une colonne en tant que rubrique Conteneur stockant les données en externe, utilisez le mot-clé EXTERNAL. L'élément chaîne_chemin_relatif définit le dossier dans lequel les données sont stockées en externe, par rapport à l'emplacement de la base de données FileMaker Pro. Ce chemin doit être défini en tant que répertoire de base dans la boîte de dialogue Gérer les conteneurs de FileMaker Pro. Vous devez préciser SECURE pour un stockage sécurisé ou OPEN pour un stockage ouvert. Si vous utilisez un stockage ouvert, l'élément chaîne_chemin_calc correspond au dossier figurant dans le dossier chaîne_chemin_relatif où les objets Conteneur doivent être stockés. Le chemin doit utiliser des barres obliques (/) dans le nom de dossier.

Exemples

Utilisation de

Exemple de code SQL

Colonne de texte

Copier
CREATE TABLE T1 (C1 VARCHAR, C2 VARCHAR (50), C3 VARCHAR (1001), C4 VARCHAR (500276))

colonne de type texte, NOT NULL

Copier
CREATE TABLE T1NN (C1 VARCHAR NOT NULL, C2 VARCHAR (50) NOT NULL, C3 VARCHAR (1001) NOT NULL, C4 VARCHAR (500276) NOT NULL)

colonne de type numérique

Copier
CREATE TABLE T2 (C1 DECIMAL, C2 DECIMAL (10,0), C3 DECIMAL (7539,2), C4 DECIMAL (497925,301))

Colonne de type date

Copier
CREATE TABLE T3 (C1 DATE, C2 DATE, C3 DATE, C4 DATE)

Colonne de type heure

Copier
CREATE TABLE T4 (C1 TIME, C2 TIME, C3 TIME, C4 TIME)

Colonne de type horodatage

Copier
CREATE TABLE T5 (C1 TIMESTAMP, C2 TIMESTAMP, C3 TIMESTAMP, C4 TIMESTAMP)

colonne pour rubrique Conteneur

Copier
CREATE TABLE T6 (C1 CONTENEUR, C2 CONTENEUR, C3 CONTENEUR, C4 CONTENEUR)

colonne pour rubrique Conteneur de stockage externe

Copier
CREATE TABLE T7 (C1 BLOB EXTERNAL 'Files/MyDatabase/' SECURE) 
CREATE TABLE T8 (C1 BLOB EXTERNAL 'Files/MyDatabase/' OPEN 'Objects')