CREATE TABLE-Anweisung

Verwenden Sie die CREATE TABLE-Anweisung, um eine Tabelle in einer Datenbankdatei zu erstellen. Das Format der CREATE TABLE-Anweisung ist:

Kopieren
CREATE TABLE tabellenname ( tabellenelementliste [, tabellenelementliste...] )

In der Anweisung geben Sie Name und Datentyp jeder Spalte an.

  • tabellenname ist der Name der Tabelle. tabellenname hat ein Limit von 100 Zeichen. Eine Tabelle mit dem gleichen Namen darf nicht bereits definiert sein. Der Tabellenname muss mit einem Zeichen aus dem Alphabet beginnen. Wenn der Tabellenname mit etwas anderem als einem Zeichen aus dem Alphabet beginnt oder einen Punkt enthält, schließen Sie ihn in Anführungszeichen ein (Quoted Identifier).

  • Das Format für tabellenelementliste ist:

    Kopieren
    feld_name feld_typ [[wiederholungen]]
    [DEFAULT ausdr] [UNIQUE | NOT NULL | PRIMARY KEY | GLOBAL
    [EXTERNAL relativer_pfad_zeichenfolge [SECURE | OPEN formel_pfad_zeichenfolge]]
  • feld_name ist der Name des Felds. Feldnamen müssen eindeutig sein. Feldnamen beginnen mit einem Zeichen aus dem Alphabet. Wenn der Feldname mit einem anderen Zeichen beginnt oder einen Punkt enthält, umschließen Sie ihn mit Anführungszeichen (Quoted Identifier).

    Beispiel

    Die CREATE TABLE-Anweisung für das Feld namens _NACHNAME lautet:

    Kopieren
    CREATE TABLE "_ANGESTELLTER" (ID INT PRIMARY KEY, "_VORNAME" VARCHAR(20), "_NACHNAME" VARCHAR(20))
  • Geben Sie für die CREATE TABLE-Anweisung wiederholungen eine Feldwiederholung in Form einer Zahl zwischen 1 und 32000 in Klammern nach dem Feldtyp an.

    Beispiel

    Kopieren
    MITARBEITERNR INT[4]
    NACHNAME VARCHAR(20)[4]
  • Für feld_typ sind folgende Optionen möglich: NUMERIC, DECIMAL, INT, DATE, TIME, TIMESTAMP, VARCHAR, CHARACTER VARYING, BLOB, VARBINARY, LONGVARBINARY oder BINARY VARYING. Für NUMERIC und DECIMAL können Sie Genauigkeit und Skala angeben. Beispiel: DECIMAL(10,0). Für TIME und TIMESTAMP können Sie die Genauigkeit angeben. Beispiel: TIMESTAMP(6). Für VARCHAR und CHARACTER VARYING können Sie die Länge der Zeichenfolge angeben.

    Beispiel

    Kopieren
    VARCHAR(255)
  • Über das Schlüsselwort DEFAULT können Sie einen Standardwert für eine Spalte festlegen. Für ausdr können Sie einen konstanten Wert oder einen Ausdruck verwenden. Zulässige Ausdrücke sind USER, USERNAME, CURRENT_USER, CURRENT_DATE, CURDATE, CURRENT_TIME, CURTIME, CURRENT_TIMESTAMP, CURTIMESTAMP und NULL.

  • Die Definition einer Spalte als UNIQUE wählt automatisch die Überprüfungsoption Eindeutig für das entsprechende Feld in der FileMaker Pro-Datenbankdatei aus.

  • Die Definition einer Spalte als NOT NULL wählt automatisch die Überprüfungsoption Nicht leer für das entsprechende Feld in der FileMaker Pro-Datenbankdatei aus. Das Feld wird als Wert erforderlich im Register Felder des Dialogfelds „Datenbank verwalten“ in FileMaker Pro markiert.

  • Um eine Spalte als Containerfeld zu definieren, verwenden Sie BLOB, VARBINARY oder BINARY VARYING für feldtyp.

  • Um eine Spalte als Containerfeld zu definieren, das Daten extern speichert, verwenden Sie das Schlüsselwort EXTERNAL. relativer_pfad_string definiert den Ordner, in dem Daten extern, relativ zum Speicherort der FileMaker Pro-Datenbank gespeichert werden. Dieser Pfad muss als Basisverzeichnis im FileMaker Pro-Dialogfeld „Container verwalten“ angegeben werden. Sie müssen entweder SECURE für einen sicheren Speicher oder OPEN für einen offenen Speicher angeben. Wenn Sie einen offenen Speicher verwenden, ist der berechn_pfad_string der Ordner in dem Ordner relativer_pfad_string, in dem Containerobjekte gespeichert werden sollen. Der Pfad muss Schrägstriche (/) im Ordnernamen verwenden.

Beispiele

Verwenden von

Beispiel-SQL

Textspalte

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

Textspalte, NOT NULL

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

Zahlenspalte

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

Datumsspalte

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

Zeitspalte

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

Zeitstempelspalte

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

Spalte für Containerfeld

Kopieren
CREATE TABLE T6 (C1 BLOB, C2 BLOB, C3 BLOB, C4 BLOB)

Spalte für extern gespeichertes Containerfeld

Kopieren
CREATE TABLE T7 (C1 BLOB EXTERNAL 'Dateien/MeineDatenbank/' SECURE) 
CREATE TABLE T8 (C1 BLOB EXTERNAL 'Dateien/MeineDatenbank/' OPEN 'Objekte')