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:
CREATE TABLE tabelnaam ( lijst_tabelelement [, lijst_tabelelement...] )
In de instructie geeft u de naam en het gegevenstype van elke kolom op.
-
tabelnaamis de naam van de tabel.tabelnaammag 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_tabelelementis:Kopiërenmaam_veld type_veld [[repetities]]
[DEFAULT expr] [UNIQUE | NOT NULL | PRIMARY KEY | GLOBAL]
[FOREIGN KEY REFERENCES tabelnaam(naam_kolom)]
[EXTERNAL relative_path_string [SECURE | OPEN Calc_Path_string] [LESS_FOLDERS]] -
naam_veldis 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 TABLEvoor het veld _ACHTERNAAMis:KopiërenCREATE TABLE "_WERKNEMER" (ID INT PRIMARY KEY, "_NAAM" VARCHAR(20), "_ACHTERNAAM" VARCHAR(20)) -
Voor de instructie
CREATE TABLEherhalingen, geeft u een veldherhaling op door na het veldtype een getal van 1 tot en met 32000 tussen haakjes te plaatsen.Voorbeeld
KopiërenEMPLOYEE_ID INT[4]
LASTNAME VARCHAR(20)[4] -
field_typekan een van de volgende zijn:NUMERIC,DECIMAL,INT,DATE,TIME,TIMESTAMP,VARCHAR,CHARACTER VARYING,BLOB,VARBINARY,LONGVARBINARY, ofBINARY VARYING. VoorNUMERICenDECIMALkunt u de precisie en schaal opgeven. Bijvoorbeeld:DECIMAL(10,0). VoorTIMEenTIMESTAMPkunt u de precisie opgeven. Bijvoorbeeld:TIMESTAMP(6). VoorVARCHARenCHARACTER VARYINGkunt u de lengte van de tekenreeks opgeven.Voorbeeld
KopiërenVARCHAR(255) -
Met het trefwoord
DEFAULTkunt u een standaardwaarde voor een kolom instellen. Vooruitdrkunt u een constante waarde of uitdrukking gebruiken. Toegestane uitdrukkingen zijnUSER,USERNAME,CURRENT_USER,CURRENT_DATE,CURDATE,CURRENT_TIME,CURTIME,CURRENT_TIMESTAMP,CURTIMESTAMPenNULL. -
Als u een kolom definieert als
UNIQUE, wordt automatisch de bevestigingsoptie Unique 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,VARBINARYofBINARY VARYINGvoor hettype_veld. -
Als u een kolom wilt definiëren als een containerveld waarin externe gegevens worden opgeslagen, gebruikt u het trefwoord
EXTERNAL.Detekenreeks_relatief_paddefinieert 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 dientSECUREop te geven voor veilige opslag ofOPENvoor open opslag. Als u open opslag gebruikt, istekenreeks_berekeningspadde map in de maptekenreeks_relatief_padwaarin containerobjecten moeten worden opgeslagen. Het pad moet slashes (/) in de mapnaam gebruiken.FEWER_FOLDERSopgeven is hetzelfde als Met minder mappen inschakelen voor de gegevensbron. -
Als u een relatie met een vreemde sleutel wilt definiëren, gebruikt u de clausule
FOREIGN KEY REFERENCESachter het veldtype. De kolom voor de externe sleutel moet van het typeINT,NUMERIC,DECIMALofVARCHARzijn en overeenkomen met het gegevenstype van de kolom waarnaar wordt verwezen. De tabel waarnaar wordt verwezen moet al bestaan en de kolom waarnaar wordt verwezen moet in die tabel bestaan.Met de clausule
FOREIGN KEY REFERENCESwordt met de instructieCREATE TABLEofALTER TABLEde relatie in de grafiek met FileMaker-relaties gemaakt. Deze instructies mislukken en retourneren fout 8201 als de relatie een circulaire referentie (cyclus) zou creëren in de relatiegrafiek.Voorbeeld
KopiërenCREATE TABLE Orders (
OrderID INT PRIMARY KEY,
KlantenID INT FOREIGN KEY REFERENCES Klanten(KlantenID),
Besteldatum DATE
)
Voorbeelden
|
Zo gebruikt u een |
Voorbeeld-SQL |
|
tekstkolom |
Kopiëren
|
|
tekstkolom, |
Kopiëren
|
|
numerieke kolom |
Kopiëren
|
|
datumkolom |
Kopiëren
|
|
tijdkolom |
Kopiëren
|
|
tijdstempelkolom |
Kopiëren
|
|
kolom voor containerveld |
Kopiëren
|
|
kolom voor containerveld voor externe opslag |
Kopiëren
|
|
tabel met externe sleutelrelaties |
Kopiëren
|