De instructie CREATE TABLE

Gebruik de instructie CREATE TABLE om een tabel in een databasebestand te maken. De instructie CREATE TABLE is als volgt gestructureerd:

Kopiëren
CREATE TABLE tabelnaam (lijst_tabelelement [, lijst_tabelelement...])

In de instructie geeft u de naam en het gegevenstype van elke kolom op.

  • tabelnaam is de naam van de tabel. tabelnaam mag maximaal 100 tekens lang zijn. Er mag niet al een tabel met dezelfde naam zijn gedefinieerd. De tabelnaam moet beginnen met een letter. Als de tabelnaam met een ander teken dan een alfabetisch teken begint of een punt (.) bevat, plaatst u deze tussen dubbele aanhalingstekens (ID tussen aanhalingstekens).

  • De syntaxis voor lijst_tabelelement is:

    Kopiëren
    veldnaam veldtype [[herhalingen]]
    [DEFAULT expr] [UNIQUE | NOT NULL | PRIMARY KEY | GLOBAL
    [EXTERNAL tekenreeks_relatief_pad [SECURE | OPEN tekenreeks_berekeningspad]]
  • naam_veld is de naam van het veld. Veldnamen moeten uniek zijn. Veldnamen beginnen met een letter. Als de veldnaam met een ander teken dan een alfabetisch teken begint of een punt (.) bevat, plaatst u deze tussen dubbele aanhalingstekens (ID tussen aanhalingstekens).

    Voorbeeld

    De instructie CREATE TABLE voor het veld _ACHTERNAAM is:

    Kopiëren
    CREATE TABLE "_WERKNEMER" (ID INT PRIMARY KEY, "_VOORNAAM" VARCHAR(20), "_ACHTERNAAM" VARCHAR(20))
  • Voor de instructie CREATE TABLE herhalingen, geeft u een veldherhaling op door na het veldtype een getal van 1 tot en met 32000 tussen haakjes te plaatsen.

    Voorbeeld

    Kopiëren
    WERKNEMER_ID INT[4]
    ACHTERNAAM VARCHAR(20)[4]
  • veldtype kan een van de volgende typen zijn: NUMERIC, DECIMAL, INT, DATE, TIME, TIMESTAMP, VARCHAR, CHARACTER VARYING, BLOB, VARBINARY, LONGVARBINARY, of BINARY VARYING. Voor NUMERIC en DECIMAL kunt u de precisie en schaal opgeven. Bijvoorbeeld: DECIMAL(10,0). Voor TIME en TIMESTAMP kunt u de precisie opgeven. Bijvoorbeeld: TIMESTAMP(6). Voor VARCHAR en CHARACTER VARYING kunt u de lengte van de tekenreeks opgeven.

    Voorbeeld

    Kopiëren
    VARCHAR(255)
  • Met het trefwoord DEFAULT kunt u een standaardwaarde voor een kolom instellen. Voor uitdr kunt u een constante waarde of uitdrukking gebruiken. Toegestane uitdrukkingen zijn USER, USERNAME, CURRENT_USER, CURRENT_DATE, CURDATE, CURRENT_TIME, CURTIME, CURRENT_TIMESTAMP, CURTIMESTAMP en NULL.

  • Als u een kolom definieert als UNIQUE, wordt automatisch de bevestigingsoptie Uniek geselecteerd voor het overeenkomende veld in het FileMaker Pro-databasebestand.

  • Als u een kolom definieert als NOT NULL, wordt automatisch de bevestigingsoptie Niet leeg geselecteerd voor het overeenkomende veld in het FileMaker Pro-databasebestand. In FileMaker Pro wordt het veld op het tabblad Velden van het dialoogvenster Database beheren gemarkeerd als een Vereiste waarde.

  • Als u een kolom als een containerveld wilt definiëren, gebruikt u BLOB, VARBINARY of BINARY VARYING voor het type_veld.

  • Als u een kolom wilt definiëren als een containerveld waarin externe gegevens worden opgeslagen, gebruikt u het trefwoord EXTERNAL. De tekenreeks_relatief_pad definieert de map waarin de gegevens extern zijn opgeslagen, in verhouding tot de locatie van de FileMaker Pro-database. Dit pad moet worden opgegeven als de basismap in het FileMaker Pro-dialoogvenster Containers beheren. U dient SECURE op te geven voor veilige opslag of OPEN voor open opslag. Als u open opslag gebruikt, is tekenreeks_berekeningspad de map in de map tekenreeks_relatief_pad waarin containerobjecten moeten worden opgeslagen. Het pad moet slashes (/) in de mapnaam gebruiken.

Voorbeelden

Zo gebruikt u een

Voorbeeld-SQL

tekstkolom

Kopiëren
CREATE TABLE T1 (C1 VARCHAR, C2 VARCHAR (50), C3 VARCHAR (1001), C4 VARCHAR (500276))

tekstkolom, NOT NULL

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

numerieke kolom

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

datumkolom

Kopiëren
CREATE TABLE T3 (C1 DATE, C2 DATE, C3 DATE, C4 DATE)

tijdkolom

Kopiëren
CREATE TABLE T4 (C1 TIME, C2 TIME, C3 TIME, C4 TIME)

tijdstempelkolom

Kopiëren
CREATE TABLE T5 (C1 TIMESTAMP, C2 TIMESTAMP, C3 TIMESTAMP, C4 TIMESTAMP)

kolom voor containerveld

Kopiëren
CREATE TABLE T6 (C1 BLOB, C2 BLOB, C3 BLOB, C4 BLOB)

kolom voor containerveld voor externe opslag

Kopiëren
CREATE TABLE T7 (C1 BLOB EXTERNAL 'Bestanden/MijnDatabase/' SECURE) 
CREATE TABLE T8 (C1 BLOB EXTERNAL 'Bestanden/MijnDatabase/' OPEN 'Objecten')