GetTableDDL
Renvoie les informations de la table au format DDL (Langage de définition de données) pour une liste d'occurrences de table spécifiées en tant que tableau JSON.
Format
GetTableDDL ( nomsOccurrenceDeTable ; ignorerErreur )
Paramètres
nomsOccurrenceDeTable : une expression de type texte pour un tableau JSON des occurrences de la table à renvoyer.
ignorerErreur : si définie sur True (Vrai), renvoie les informations DDL pour les occurrences de la table qui ne causent aucune erreur. Si définie sur False (Faux), renvoie des informations DDL lorsqu'aucune occurrence de table ne cause d'erreur ; sinon renvoie « ? » pour indiquer une erreur et enregistrer les occurrences de la table qui ont causé l'erreur dans le journal des appels d'IA (consultez l'action de script Définir la journalisation des appels d'IA).
Résultat
Texte
Provient de la version
21.0
Description
Cette fonction renvoie une représentation DDL des occurrences de table spécifiées. Le DDL se compose de commandes SQL qui peuvent être utilisées pour définir le schéma de la base de données (tables, rubriques et liens). Vous pouvez fournir le DDL renvoyé par cette fonction dans une demande à un modèle d'IA pour créer des requêtes SQL que vous pouvez utiliser pour interroger votre base de données FileMaker Pro. C'est ce que fait l'action de script Exécuter une requête SQL en langage naturel en utilisant la même logique que cette fonction pour générer le DDL.
Pour améliorer la qualité du DDL renvoyé par cette fonction, suivez les suggestions dans la section Meilleures pratiques pour le schéma de base de données avec la génération de requêtes DDL et SQL.
Exemple 1
GetTableDDL ( "[\"Réunions\", \"Thèmes\"]" ; True ) renvoie ce qui suit pour un fichier FileMaker Pro contenant des occurrences de table nommées Réunions et Thèmes :
CREATE TABLE "Réunions" (
"Titre" varchar(255),
"Emplacement" varchar(255),
"Date" datetime,
"Heure de début" datetime,
"Heure de fin" datetime,
"Durée" varchar(255),
"Remarque" varchar(255),
"Clé primaire" varchar(255), /*Identifiant unique de chaque enregistrement figurant dans cette table*/
"Créé par" varchar(255), /*Nom de compte de l'utilisateur qui a créé chaque enregistrement*/
"Modifié par" varchar(255), /*Nom de compte de l'utilisateur qui a modifié chaque enregistrement en dernier*/
"Horodatage de création" datetime, /*Date et heure de création de chaque enregistrement*/
"Horodatage de modification" datetime, /*Date et heure de dernière modification de chaque enregistrement*/
"Note_Embedding" varbinary(4096),
PRIMARY KEY (Clé primaire)
);
CREATE TABLE "Thèmes" (
"Clé étrangère" varchar(255), /*Identifiant unique de chaque enregistrement figurant dans la table liée*/
"Clé primaire" varchar(255), /*Identifiant unique de chaque enregistrement figurant dans cette table*/
"Modifié par" varchar(255), /*Nom de compte de l'utilisateur qui a modifié chaque enregistrement en dernier*/
"Horodatage de modification" datetime, /*Date et heure de dernière modification de chaque enregistrement*/
PRIMARY KEY (Clé primaire),
FOREIGN KEY (Clé étrangère) REFERENCES Réunions(Clé Primaire)
);
Dans la table Réunions, aucune annotation de rubrique n'a été définie. Toutes les rubriques sont donc incluses. Pour les rubriques avec des commentaires, le texte des commentaires est inclus.
Dans la table Thèmes, des annotations de rubrique ont été définies pour quatre rubriques, de sorte que seuls ces rubriques sont incluses avec leurs annotations.
Exemple 2
Active la journalisation des appels d'IA, puis pour un tableau de noms d'occurrence de tables, vérifie si GetTableDDL renvoie une erreur avec le paramètre ignorerErreur défini sur False.
Définir la journalisation des appels d'IA [ Oui ; Nom de fichier : "ai-call.log" ; Détaillé: Non ]
Définir variable [ $tableDDL ; Valeur:
GetTableDDL ( JSONMakeArray ( "Réunions,Employés,Coordonnées" ; "," ; JSONString ) ;
False ) ]
Si [ $tableDDL = "?" ]
Ouvrir boîte dial. person. [ "Une erreur s'est produite. Consultez ai-call.log dans le dossier Documents." ]
Sinon
Ouvrir boîte dial. person. [ $tableDDL ]
Fin de si