Secuencia CREATE TABLE

Utilice la secuencia CREATE TABLE para crear una tabla en un archivo de base de datos. El formato de la secuencia CREATE TABLE es:

Copiar
CREATE TABLE nombre_tabla ( lista_elemento_tabla [, lista_elemento_tabla...] )

Dentro de esta secuencia, debe especificar el nombre y el tipo de datos de cada columna.

  • nombre_tabla es el nombre de la tabla. nombre_tabla tiene un límite de 100 caracteres. No debe haber una tabla definida con el mismo nombre. El nombre de la tabla debe comenzar con un carácter alfabético. Si el nombre de la tabla comienza por otro que no sea un carácter alfabético o contiene un punto (.), escríbalo entre comillas dobles (identificador entre comillas).

  • El formato de lista_elemento_tabla es:

    Copiar
    nombre_campo tipo_campo [[repeticiones]]
    [DEFAULT expr] [UNIQUE | NOT NULL | PRIMARY KEY | GLOBAL
    [EXTERNAL cadena_ruta_relativa [SECURE | OPEN cadena_ruta_calc]]
  • nombre_campo es el nombre del campo. Los nombres de campo deben ser exclusivos y Los nombres de campo deben comenzar con un carácter alfabético. Si el nombre del campo comienza por otro que no sea un carácter alfabético o contiene un punto (.), escríbalo entre comillas dobles (identificador entre comillas).

    Ejemplo

    La secuencia CREATE TABLE para el campo con el nombre _APELLIDOS es:

    Copiar
    CREATE TABLE "_EMPLEADO" (ID INT PRIMARY KEY, "_NOMBRE" VARCHAR(20), "_APELLIDOS" VARCHAR(20))
  • Para el elemento repeticiones de la secuencia CREATE TABLE, especifique una repetición de campo incluyendo un número entre 1 y 32000 entre corchetes después del campo.

    Ejemplo

    Copiar
    ID_EMPLEADO INT[4]
    APELLIDOS VARCHAR(20)[4]
  • tipo_campo puede ser cualquiera de los siguientes: NUMERIC, DECIMAL, INT, DATE, TIME, TIMESTAMP, VARCHAR, CHARACTER VARYING, BLOB, VARBINARY, LONGVARBINARY o BINARY VARYING. En NUMERIC y DECIMAL, puede especificar la precisión y la escala. Por ejemplo: DECIMAL(10,0). En TIME y TIMESTAMP, puede especificar la precisión. Por ejemplo: TIMESTAMP(6). En VARCHAR y CHARACTER VARYING, puede especificar la longitud de la cadena.

    Ejemplo

    Copiar
    VARCHAR(255)
  • La palabra clave DEFAULT le permite configurar un valor predeterminado para una columna. En expr, puede utilizar una expresión o un valor constante. Las expresiones permitidas son USER, USERNAME, CURRENT_USER, CURRENT_DATE, CURDATE, CURRENT_TIME, CURTIME, CURRENT_TIMESTAMP, CURTIMESTAMP y NULL.

  • Al definir una columna como UNIQUE, se selecciona automáticamente la opción de validación Único para el campo correspondiente del archivo de base de datos de FileMaker Pro.

  • Al definir una columna como NOT NULL, se selecciona automáticamente la opción de validación No vacío para el campo correspondiente del archivo de base de datos de FileMaker Pro. El campo se marca como Valor requerido en la pestaña Campos del cuadro de diálogo Gestionar base de datos de FileMaker Pro.

  • Para definir una columna como un campo contenedor , utilice BLOB, VARBINARY o BINARY VARYING como tipo_campo.

  • Para definir una columna como un campo contenedor que almacena datos de forma externa, utilice la palabra clave EXTERNAL. cadena_ruta_relativa define la carpeta en la que se almacenan de forma externa los datos en relación con la ubicación de la base de datos de FileMaker Pro. Esta ruta debe especificarse como directorio base en el cuadro de diálogo Administrar contenedores de FileMaker Pro. Debe especificar SECURE para el almacenamiento seguro u OPEN para el almacenamiento abierto. Si utiliza el almacenamiento abierto, cadena_ruta_calc hace referencia a la carpeta incluida dentro de la carpeta cadena_ruta_relativa en la que se almacenarán los objetos del contenedor. En la ruta se deben utilizar barras (/) para el nombre de carpeta.

Ejemplos

Uso

SQL de ejemplo

columna de texto

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

columna 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)

columna numérica

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

columna de fecha

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

columna de hora

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

columna de fecha y hora

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

columna del campo contenedor

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

columna del campo contenedor de almacenamiento externo

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