GetTableDDL

Devuelve la información de la tabla en formato lenguaje de definición de datos (DDL) para una lista de ocurrencias de tabla especificadas como una matriz JSON.

Formato 

GetTableDDL ( nombresOcurrenciaTabla ; ignorarError )

Parámetros 

nombresOcurrenciaTabla: una expresión de texto para una matriz JSON de las ocurrencias de tabla que se devolverán.

ignorarError: si se establece en "True" (verdadero), devuelve información de DDL para las ocurrencias de tabla que no provocan ningún error. Si se establece en "False" (falso), devuelve información de DDL cuando ninguna ocurrencia de tabla provoca un error. De lo contrario, devuelve "?" para indicar un error y registra las ocurrencias de tabla que han provocado el error en el registro de llamadas de IA (consulte paso de guión Configurar el registro de llamadas de IA).

Tipo de datos devuelto 

texto

Se origina en 

21.0

Descripción 

Esta función devuelve una representación DDL de las ocurrencias de la tabla especificadas. El DDL consta de comandos SQL que pueden utilizarse para definir el esquema de base de datos (tablas, campos y relaciones). Puede proporcionar el DDL devuelto por esta función en una solicitud a un modelo de IA para crear consultas SQL que puede utilizar para consultar la base de datos de FileMaker Pro. De hecho, esto es lo que hace el Ejecuta una consulta SQL mediante lenguaje natural usando la misma lógica que esta función para generar el DDL.

Para mejorar la calidad del DDL devuelto por esta función, siga las sugerencias en Prácticas recomendadas para el esquema de base de datos en la generación de consultas DDL y SQL.

Ejemplo 1 

GetTableDDL ( "[\"Reuniones\", \"Temas\"]"; True) devuelve lo siguiente para un archivo de FileMaker Pro que contiene ocurrencias de tabla denominadas Reuniones y Temas:

Copiar
CREAR TABLA "Reuniones" (
"Título" varchar(),
"Ubicación" varchar(),
"Fecha" datetime
"Hora de inicio" datetime
"Hora de finalización" datetime
"Duración" varchar(),
"Nota" varchar(255),
"ClavePrincipal" varchar(255), /*Identificador único de cada registro de esta tabla*/
"CreadoPor" varchar(255), /*Nombre de cuenta del usuario que creó cada registro*/
"ModificadoPor" varchar(255), /*Nombre de cuenta del usuario que modificó por última vez cada registro*/
"MarcaFechaYHoraCreación" datetime, /*Fecha y hora de creación de cada registro*/
"MarcaFechaYHoraModificación" datetime, /*Fecha y hora en que se modificó por última vez cada registro*/
"Nota_Incrustación" varbinary(4096),
CLAVE PRINCIPAL (ClavePrincipal)
);

CREAR TABLA "Temas" (
"ClaveExterna" varchar(255), /*Identificador único de cada registro de la tabla relacionada*/
"ClavePrincipal" varchar(255), /*Identificador único de cada registro de esta tabla*/
"ModificadoPor" varchar(255), /*Nombre de cuenta del usuario que modificó por última vez cada registro*/
"MarcaFechaYHoraModificación" datetime, /*Fecha y hora en que se modificó por última vez cada registro*/
CLAVE PRINCIPAL (ClavePrincipal),
CLAVE EXTERNA (ClaveExterna) REFERENCIAS Reuniones(ClavePrincipal)
);

En la tabla de Reuniones, no se han establecido anotaciones de campo, por lo que se incluyen todos los campos. Para los campos con comentarios, se incluye el texto de los comentarios.

En la tabla Temas, las anotaciones de campo se han establecido para cuatro campos, por lo que solo esos campos se incluyen junto con sus anotaciones.

Ejemplo 2 

Activa el registro de llamadas de IA y, a continuación, para una matriz de nombres de ocurrencia de tabla, comprueba si GetTableDDL devuelve un error con el parámetro ignorarError establecido en "False" (falso).

Copiar
Configurar el registro de llamadas de IA [ Activo ; Nombre de archivo: "ai-call.log" ]
Establecer variable [ $tableDDL ; Valor: 
    GetTableDDL ( JSONMakeArray ( "Reuniones,Empleados,Información de contacto" ; "," ; JSONString ) ; 
    False ) ]
If [ $tableDDL = "?" ]
    Mostrar cuadro de diálogo personalizado  [ "Se ha producido un error. Consulte el archivo ai-call.log en la carpeta Documentos." ]
Else
    Mostrar cuadro de diálogo personalizado [ $tableDDL ]
End If