GetTableDDL

Retourneert tabelinformatie in DDL-indeling voor een lijst met tabelvoorvallen die zijn opgegeven als een JSON-array.

Opmaak 

GetTableDDL ( tabelGebeurtenisNamen ; negeerFout )

Parameters 

tabelGebeurtenisNamen - een tekstexpressie voor een JSON-matrix van de te retourneren tabelvoorvallen.

negeerFout - als deze optie is ingesteld op waar, worden DDL-gegevens geretourneerd voor de tabel die geen fout veroorzaken. Indien Onwaar, retourneert DDL informatie wanneer er geen gebeurtenissen in de tabel een fout veroorzaken; anders wordt '?' geretourneerd. Om een fout aan te geven en de gebeurtenissen in de tabel die de fout hebben veroorzaakt in het AI-oproeplogboek te registreren (zie scriptstap Loggen van AI-gesprekken instellen scriptstap).

Resulterend gegevenstype 

tekst

Afkomstig uit versie 

21.0

Beschrijving 

Deze functie retourneert een DDL-weergave van de opgegeven instanties van de tabel. De DDL bestaat uit SQL-opdrachten die kunnen worden gebruikt om databaseschema (tabellen, velden en relaties) te definiëren. U kunt de DDL die door deze functie wordt geretourneerd, in een aanvraag aan een AI-model opgeven om SQL-query's te maken die u kunt gebruiken om uw FileMaker Pro-database te bevragen. In feite is dit wat de Voer SQL-query uit met natuurlijke taal uitvoert met dezelfde logica als deze functie om de DDL te genereren.

Als u de kwaliteit van de DDL die door deze functie wordt geretourneerd wilt verbeteren, volgt u de suggesties in Aanbevolen procedures voor databaseschema's bij het genereren van DDL- en SQL-query's.

Voorbeeld 1 

GetTableDDL ( "[\"Meetings\", \"Topics\"]"; True) retourneert het volgende voor een FileMaker Pro-bestand met de namen Meetings and Topics:

Kopiëren
CREATE TABLE "Meetings" (
"Title" varchar(255),
"Location" varchar(255),
"Date" datetime,
"Start Time" datetime,
"End Time" datetime,
"Duration" varchar(255),
"Note" varchar(255),
"PrimaryKey" varchar(255), /*Unieke identificatie van elke record in deze tabel*/
"CreatedBy" varchar(255), /*Accountnaam van de gebruiker die elke record heeft aangemaakt*/
"ModifiedBy" varchar(255), /*Accountnaam van de gebruiker die elke record als laatste heeft gewijzigd*/
"CreationTimestamp" datetime, /*Datum en tijd waarop elke record is gemaakt*/
"ModificationTimestamp" datetime, /*Datum en tijd waarop elke record voor het laatst is gewijzigd*/
"Note_Embedding" varbinary(4096),
PRIMARY KEY (PrimaryKey)
);

CREATE TABLE "Topics" (
"ForeignKey" varchar(255), /*Unieke identificatie van elke record in de gerelateerde tabel*/
"PrimaryKey" varchar(255), /*Unieke identificatie van elke record in deze tabel*/
"ModifiedBy" varchar(255), /*Accountnaam van de gebruiker die elke record als laatste heeft gewijzigd*/
"ModificationTimestamp" datetime, /**Datum en tijd waarop elke record voor het laatst is gewijzigd*/
PRIMARY KEY (PrimaryKey),
FOREIGN KEY (ForeignKey) REFERENCES Meetings(PrimaryKey)
);

In de tabel Meetings zijn geen veldannotaties ingesteld, dus alle velden zijn opgenomen. Voor velden met opmerkingen wordt tekst van de opmerkingen toegevoegd.

In de tabel Onderwerp zijn veldannotaties ingesteld voor vier velden, zodat alleen die velden samen met de bijbehorende annotaties worden opgenomen.

Voorbeeld 2 

Schakelt loggen van AI-aanroepen in en controleert vervolgens voor een reeks namen van voorvallen in tabellen of GetTableDDL een fout retourneert waarbij de parameter negeerFout is ingesteld op Onwaar.

Kopiëren
Loggen van AI-gesprekken instellen [ Aan ; Bestandsnaam: "ai-call.log" ; Uitgebreid: Uit ]
Variabele instellen [ $tableDDL ; Waarde: 
    GetTableDDL ( JSONMakeArray ( "Meetings,Employees,Contact Info" ; "," ; JSONString ) ; 
    False ) ]
If [ $tableDDL = "?" ]
    Aangepast dialoogvenster tonen [ "Er is een fout opgetreden. Zie ai-call.log in de map documenten." ]
Else
    Aangepast dialoogvenster tonen [ $tableDDL ]
End If