Instrução CREATE TABLE

Use a instrução CREATE TABLE para criar uma tabela em um arquivo de banco de dados. O formato da instrução CREATE TABLE é:

Copiar
CREATE TABLE nome_tabela ( lista_elemento_tabela [, lista_elemento_tabela...] )

Na instrução, você especifica o nome e o tipo de dados de cada coluna.

  • nome_tabela é o nome da tabela. nome_tabela tem um limite de 100 caracteres. Uma tabela com o mesmo nome ainda não deve estar definida. O nome da tabela deve começar com um caractere alfabético. Se o nome da tabela começar com um caractere diferente de alfabético, coloque-o entre aspas duplas (identificador entre aspas).

  • O formato delista_elemento_tabela é:

    Copiar
    nome_campo tipo_campo [[repetições]]
    [DEFAULT expr] [UNIQUE | NOT NULL | PRIMARY KEY | GLOBAL
    [EXTERNAL string_caminho_relativo [SECURE | OPEN string_calc_relativo]]
  • nome_campo é o nome do campo. Os nomes de campo devem ser exclusivos. Nomes de campo começam com um caractere alfabético Se o nome do campo começar com um caractere diferente de alfabético, coloque-o entre aspas duplas (identificador entre aspas).

    Exemplo

    A instrução CREATE TABLE para o campo nomeado _SOBRENOME é:

    Copiar
    CREATE TABLE "_FUNCIONÁRIO" (ID INT PRIMARY KEY, "_NOME" VARCHAR(20), "_SOBRENOME" VARCHAR(20))
  • Para a instrução CREATE TABLE repetições, especifique uma repetição de campo usando um número de 1 a 32000 entre colchetes após o tipo do campo.

    Exemplo

    Copiar
    ID_FUNCIONÁRIO INT[4]
    SOBRENOME VARCHAR(20)[4]
  • tipo_campo pode ser qualquer um destes itens: NUMERIC, DECIMAL, INT, DATE, TIME, TIMESTAMP, VARCHAR, CHARACTER VARYING, BLOB, VARBINARY, LONGVARBINARY ou BINARY VARYING. Para NUMERIC e DECIMAL, você pode especificar a precisão e a escala. Por exemplo: DECIMAL(10,0). Para TIME e TIMESTAMP, você pode especificar a precisão. Por exemplo: TIMESTAMP(6). Para VARCHAR e CHARACTER VARYING, você pode especificar o tamanho da cadeia.

    Exemplo

    Copiar
    VARCHAR(255)
  • A palavra-chave DEFAULT permite que você defina um valor padrão para uma coluna. Para expr, você pode usar um valor de constante ou uma expressão. As expressões permitidas são USER, USERNAME, CURRENT_USER, CURRENT_DATE, CURDATE, CURRENT_TIME, CURTIME, CURRENT_TIMESTAMP, CURTIMESTAMP e NULL.

  • Definir uma coluna como UNIQUE seleciona automaticamente a opção de validação Exclusivo para o campo correspondente no arquivo de banco de dados do FileMaker Pro.

  • Definir uma coluna como NOT NULL seleciona automaticamente a opção de validação Não vazio para o campo correspondente no arquivo de banco de dados do FileMaker Pro. O campo é sinalizado como um Valor necessário na guia Campos da caixa de diálogo Gerenciar banco de dados no FileMaker Pro.

  • Para definir uma coluna como um campo de container, use BLOB, VARBINARY ou BINARY VARYING em field_type.

  • Para definir uma coluna como um campo de container que armazena dados externamente, use a palavra-chave EXTERNAL. string_caminho_relativo define a pasta em que os dados são armazenados externamente, relativa ao local do banco de dados do FileMaker Pro. Esse caminho deve ser especificado como diretório base na caixa de diálogo Gerenciar containers do FileMaker Pro. Você deve especificar SECURE para armazenamento seguro ou OPEN para armazenamento aberto. Se você estiver usando o armazenamento aberto, string_calc_relativo será a subpasta da pasta string_caminho_relativo em que os objetos container serão armazenados. O caminho deve usar barras (/) no nome da pasta.

Exemplos

Uso

SQL de amostra

coluna de texto

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

coluna de texto, NOT NULL

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

coluna numérica

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

coluna de data

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

coluna de hora

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

coluna de carimbo de data/hora

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

coluna para campo de container

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

coluna para campo de container de armazenamento externo

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