GetTableDDL

Returnerar tabellinformation i DDL-format (Data Definition Language) för en lista över tabellförekomster som angetts som JSON-matris.

Format 

GetTableDDL ( tabellförekomstNamn ; ignoreraFel )

Parametrar 

tabellförekomstNamn - ett textuttryck för en JSON-matris av tabellförekomster som ska returneras.

IgnoreraFel – om parametern anges till True returneras DDL-information för tabellförekomsterna som inte orsakar något fel. Om parametern anges till False returneras DDL-information när inga tabellförekomster orsakar ett fel. Annars returneras "?" för att markera ett fel och tabellförekomsterna som orsakade felet loggas i AI-anropsloggen (mer information finns i Scriptsteget Ange loggning av AI-anrop).

Returnerad datatyp 

text

Ursprungsversion 

21.0

Beskrivning 

Den här funktionen returnerar en DDL-representation av de angivna tabellförekomsterna i den aktuella filen. DDL består av SQL-kommandon som kan användas för att definiera databasschema (tabeller, fält och relationer).

Kommentarer 

  • Tillsammans med tabell- och fältnamn innehåller returnerade DDL de fältkommentarer som angetts i dialogrutan Hantera databas. Denna ytterligare information om varje fält kan hjälpa en modell att tillhandahålla mer användbara SQL-frågor.

Exempel 1 

GetTableDDL ( "[\"Möten\", \"Ämnen\"]"; True) returnerar följande för en FileMaker Pro-fil som innehåller tabellförekomster med namnen Möten och Ämnen:

Kopiera
CREATE TABLE "Möten" (
"Titel" varchar(255),
"Plats" varchar(255),
"Datum" datetime,
"Starttid" datetime,
"Sluttid" datetime,
"Varaktighet" varchar(255),
"Anteckning" varchar(255),
"Primärnyckel" varchar(255), /*Unik identifierare för varje post i den här tabellen*/
"SkapadAv" varchar(255), /*Kontonamn för den användare som skapade varje post*/
"ÄndradAv" varchar(255), /*Kontonamn för den användare som senaste ändrade varje post*/
"SkapadTidstämpel" datetime, /*Datum och tid då varje post skapades*/
"ÄndringTidsstämpel" datetime, /*Datum och tid då varje post senast ändrades*/
"Anteckning_Inbäddning" varbinary(4096),
PRIMARY KEY (Primärnyckel)
);

CREATE TABLE "Ämnen" (
"Ämne" varchar(255),
"Text" varchar(255),
"Sekundärnyckel" varchar(255), /*Unik identifierare för varje post i den relaterade tabellen*/
"Antal ämnen" int,
"Primärnyckel" varchar(255), /*Unik identifierare för varje post i den här tabellen*/
"SkapadAv" varchar(255), /*Kontonamn för den användare som skapade varje post*/
"ÄndradAv" varchar(255), /*Kontonamn för den användare som senaste ändrade varje post*/
"SkapadTidstämpel" datetime, /*Datum och tid då varje post skapades*/
"ÄndringTidsstämpel" datetime, /*Datum och tid då varje post senast ändrades*/
PRIMARY KEY (Primärnyckel),
FOREIGN KEY (Sekundärnyckel) REFERENCES Möten(Primärnyckel)
);

Exempel 2 

Aktiverar loggning av AI-anrop och kontrollerar sedan för en matris med tabellförekomstnamn om GetTableDDL returnerar ett fel med parametern ignoreraFel inställd på False .

Kopiera
Ange loggning av AI-anrop [ På ; Filnamn: "ai-anrop.log” ; Utförligt: Av ]
Ange variablel [ $tableDDL ; Värde: 
    GetTableDDL ( JSONMakeArray ( "Möten,Medarbetare,Kontaktuppgift" ; "," ; JSONString ) ; 
    False ) ]
If [ $tableDDL = "?" ]
    Visa anpassad dialogruta [ "Ett fel uppstod. Läs mer i ai-anrop.log i mappen Dokument." ]
Else
    Visa anpassad dialogruta [ $tableDDL ]
End If