Istruzione CREATE TABLE

Utilizzare l'istruzione CREATE TABLE per creare una tabella in un file di database. Il formato dell'istruzione CREATE TABLE è:

Copia
CREATE TABLE nome_tabella ( lista_elementi_tabella [, lista_elementi_tabella...] )

All'interno dell'istruzione, si specifica il nome e il tipo di dati di ogni colonna.

  • nome_tabella è il nome della tabella. nome_tabella ha un limite di 100 caratteri. Non è possibile definire una tabella con lo stesso nome. Il nome tabella deve iniziare con un carattere alfabetico. Se il nome tabella non inizia con un carattere alfabetico o contiene un punto (.), racchiuderlo nelle virgolette doppie (identificativo quotato).

  • Il formato per lista_elementi_tabella è:

    Copia
    nome_campo tipo_campo [[ripetizioni]]
    [DEFAULT expr] [UNIQUE | NOT NULL | CHIAVE PRIMARIA | GLOBALE] 
    [EXTERNAL stringa_percorso_relativo [SECURE | OPEN stringa_percorso_calc]]
  • nome_campo è il nome del campo. I nomi dei campi devono essere univoci. I nomi campo iniziano con un carattere alfabetico. Se il nome del campo non inizia con un carattere alfabetico o contiene un punto (.), racchiuderlo nelle virgolette doppie (identificativo quotato).

    Esempio

    L'istruzione CREATE TABLE per il campo _COGNOME è:

    Copia
    CREATE TABLE"_DIPENDENTE" (ID INTERO CHIAVE PRIMARIA,"_NOME" VARCHAR(20),"_COGNOME" VARCHAR(20))
  • Per le ripetizioni dell'istruzione CREATE TABLE, specificare una ripetizione di campo inserendo un numero da 1 a 32000 tra parentesi dopo il tipo di campo.

    Esempio

    Copia
    ID_DIPENDENTE INT[4]
    COGNOME VARCHAR(20)[4]
  • tipo_campo può essere uno dei seguenti valori: NUMERIC, DECIMAL, INT, DATE, TIME, TIMESTAMP, VARCHAR, CHARACTER VARYING, BLOB, VARBINARY, LONGVARBINARY, o BINARY VARYING. Per NUMERIC e DECIMAL, è possibile specificare la precisione e la scala. Ad esempio: DECIMAL(10,0). Per TIME e TIMESTAMP, è possibile specificare la precisione. Ad esempio: TIMESTAMP(6). Per VARCHAR e CHARACTER VARYING, è possibile specificare la lunghezza della stringa.

    Esempio

    Copia
    VARCHAR(255)
  • La parola chiave DEFAULT permette di impostare un valore predefinito per una colonna. Per expr, è possibile utilizzare un valore costante o un'espressione. Le espressioni consentite sono USER, USERNAME, CURRENT_USER, CURRENT_DATE, CURDATE, CURRENT_TIME, CURTIME, CURRENT_TIMESTAMP, CURTIMESTAMP, e NULL.

  • Se una colonna viene definita UNIQUE, si seleziona automaticamente l'opzione di verifica Unique per il campo corrispondente nel file di database FileMaker Pro.

  • Se una colonna viene definita NOT NULL, si seleziona automaticamente l'opzione di verifica Not Empty per il campo corrispondente nel file di database FileMaker Pro. Il campo viene contrassegnato come Required Value nella scheda Campi della finestra di dialogo Gestisci database in FileMaker Pro.

  • Per definire una colonna come un campo Contenitore, inserire BLOB, VARBINARY o BINARY VARYING per tipo_campo.

  • Per definire una colonna come un campo Contenitore che memorizza i dati esternamente, utilizzare la parola chiave EXTERNAL. stringa_percorso_relativo definisce la cartella in cui i dati sono memorizzati esternamente rispetto alla posizione del database FileMaker Pro. Questo percorso deve essere indicato come directory di base nella finestra di dialogo Gestisci contenitori di FileMaker Pro. Specificare SECURE per un'archiviazione protetta o OPEN per un'archiviazione di tipo open storage. Se si usa la memoria aperta, stringa_percorso_calc è la cartella all'interno della cartella stringa_percorso_relativo dove gli oggetti del contenitore devono essere memorizzati. Il percorso deve utilizzare le barre (/) nella cartella nome.

Esempi

Usando

Esempio SQL

colonna di testo

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

colonna di testo, NOT NULL

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

colonna numerica

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

colonna data

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

colonna ora

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

colonna Indicatore data e ora

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

colonna per campo Contenitore

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

colonna per campo Contenitore memoria esterna

Copia
CREATE TABLE T7 (C1 BLOB EXTERNAL 'File/MioDatabase/' SECURE) 
CREATE TABLE T8 (C1 BLOB EXTERNAL 'File/MioDatabase/' OPEN 'Oggetti')