GetTableDDL

Retorna informações da tabela no formato de linguagem de definição de dados (DDL) para uma lista de ocorrências de tabela especificadas como uma matriz JSON.

Formato

GetTableDDL ( NomesDeOcorrênciaDeTabela ; ignorarErro )

Parâmetros

NomesDeOcorrênciaDeTabela - uma expressão de texto para uma matriz JSON das ocorrências de tabela a retornar.

ignorarErro - se definido como True, retorna informações DDL para as ocorrências de tabela que não causam erro. Se False, retorna informações DDL quando nenhuma ocorrência de tabela causa um erro; caso contrário, retorna "?" para indicar um erro e registra as ocorrências de tabela que causaram o erro no log de chamadas de IA (consulte Etapa de script Definir registro de chamadas de IA).

Tipo de dados retornado

texto

Originada na versão

21.0

Descrição 

Esta função retorna uma representação em DDL das ocorrências de tabela especificadas. A DDL consiste em comandos SQL que podem ser usados para definir o esquema do banco de dados (tabelas, campos e relacionamentos). Você pode fornecer a DDL retornada por esta função em uma solicitação a um modelo de IA para criar consultas SQL que você pode usar para consultar seu banco de dados do FileMaker Pro usando a função ExecuteSQL. Na verdade, isso é o que a etapa de script Executar Consulta SQL por Linguagem Natural faz usando a mesma lógica que essa função para gerar a DDL.

Para melhorar a qualidade da DDL retornada por esta função, siga as sugestões em Melhores práticas para esquema de banco de dados na geração de consultas DDL e SQL.

Exemplo 1

GetTableDDL ( “[\”Reuniões\", \”Tópicos\"]"; True) retorna o seguinte para um arquivo do FileMaker Pro contendo ocorrências de tabela chamadas Reuniões e Tópicos:

Copiar
CRIAR TABELA “Reuniões" (
“Título" varchar(255),
“Localização" varchar(255),
“Data" datetime,
“Hora de início" datetime,
“Hora de término" datetime,
“Duração" varchar(255),
“Anotação" varchar(255),
“Chave principal" varchar(255), /*Identificador exclusivo de cada registro nesta tabela*/
“Criado por" varchar(255), /*Nome da conta do usuário que criou cada registro*/
“Modificado por" varchar(255), /*Nome da conta do usuário que modificou cada registro pela última vez*/
"Carimbo de data/hora de criação" datetime, /*A data e a hora em que cada registro foi criado*/
"Carimbo de data/hora de modificação" datetime, /*A data e a hora em que cada registro foi modificado pela última vez*/
“Incorporação_de_anotação" varbinary(4096),
CHAVE PRINCIPAL (ChavePrincipal)
);

CRIAR TABELA “Tópicos" (
“Chave externa" varchar(255), /*Identificador exclusivo de cada registro na tabela relacionada*/
“Chave principal" varchar(255), /*Identificador exclusivo de cada registro nesta tabela*/
"Modificado por" varchar(255), /*Nome da conta do usuário que modificou cada registro pela última vez*/
"Carimbo de data/hora de modificação" datetime, /*A data e a hora em que cada registro foi modificado pela última vez*/
CHAVE PRINCIPAL (ChavePrincipal),
CHAVE EXTERNA (ChaveExterna) REFERÊNCIAS Reuniões(ChavePrincipal)
);

Na tabela Reuniões, nenhuma anotação de campo foi definida, portanto, todos os campos estão incluídos. Para campos com comentários, o texto dos comentários está incluído.

Na tabela Tópicos, as anotações de campo foram definidas para quatro campos, portanto, apenas esses campos são incluídos junto com suas anotações.

Exemplo 2

Ativa o registro de chamadas de IA e, em seguida, para uma matriz de nomes de ocorrência de tabela, verifica se GetTableDDL retorna um erro com o parâmetro ignorarErro definido como False.

Copiar
Definir registro de chamadas de IA [ Ativo ; Nome de arquivo: "ai-call.log" ; Texto: Desativado ]
Definir variável [ $tableDDL ; Valor: 
    GetTableDDL ( JSONMakeArray ( “Reuniões,Funcionários,Informações de contato" ; "," ; JSONString ) ; 
    False ) ]
If [ $tableDDL = "?" ]
    Mostrar caixa de diálogo personalizada [ "Ocorreu um erro. Veja ai-call.log na pasta Documentos." ]
Else
    Mostrar caixa de diálogo personalizada [ $tableDDL ]
End If