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:
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.
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