GetTableDDL
JSON 배열로 지정된 테이블 발생 목록에 대한 데이터 정의 언어(DDL) 형식으로 테이블 정보를 반환합니다.
포맷
GetTableDDL ( 테이블 발생 이름 ; 무시 오류 )
매개 변수
테이블 발생 이름 - 반환할 테이블 발생의 JSON 배열에 대한 텍스트 표현식입니다.
무시 오류 - True로 설정된 경우, 오류를 일으키지 않는 테이블 발생에 대한 DDL 정보를 반환합니다. False인 경우, 테이블 발생이 오류를 일으키지 않을 때 DDL 정보를 반환합니다. 그렇지 않으면 "?"를 반환하여 오류를 나타내고 AI 호출 로그에서 오류를 일으킨 테이블 발생을 기록합니다(AI 호출 로깅 설정 스크립트 단계 참조).
반환되는 데이터 유형
텍스트
다음 버전에서 시작됨
21.0
설명
이 함수는 지정된 테이블 발생의 DDL 표현을 반환합니다. DDL은 데이터베이스 스키마(테이블, 필드 및 관계)를 정의하는 데 사용할 수 있는 SQL 명령으로 구성되어 있습니다. FileMaker Pro 데이터베이스를 쿼리하는 데 사용할 수 있는 SQL 쿼리를 작성하기 위해 AI 모델에 대한 요청에서 이 함수에 의해 반환된 DDL을 제공할 수 있습니다. 사실 자연어로 SQL 쿼리 수행는 이 함수와 동일한 논리를 사용하여 DDL을 생성합니다.
이 함수에 의해 반환된 DDL의 품질을 향상시키려면 DDL 및 SQL 쿼리 생성의 데이터베이스 스키마에 대한 우수 사례의 제안을 따르십시오.
예제 1
GetTableDDL( "[\"Meetings\", \"Topics\"]"; True)은 미팅 및 주제라는 테이블 발생을 포함하는 FileMaker Pro 파일에 대해 다음을 반환합니다.
CREATE TABLE "Meetings" (
"Title" varchar(),
"Location" varchar(),
"Date" datetime,
"Start Time" datetime,
"End Time" datetime,
"Duration" varchar(),
"Note" varchar(255),
"PrimaryKey" varchar(255), /*이 테이블에서 각 레코드의 고유 식별자*/
"(255), /*각 레코드를 만든 사용자의 계정 이름*/
"ModifiedBy" varchar(255), /*각 레코드를 마지막으로 수정한 사용자의 계정 이름*/
"CreationTimestamp" datetime, /*각 레코드가 작성된 날짜와 시간*/
"ModificationTimestamp" datetime, /*각 레코드가 마지막으로 수정된 날짜와 시간*/
"Note_Embedding" varbinary(4096),
PRIMARY KEY (PrimaryKey)
);
CREATE TABLE "Topics" (
"ForeignKey" varchar(255), /*관련 테이블에서 각 레코드의 고유 식별자*/
"PrimaryKey" varchar(255), /*이 테이블에서 각 레코드의 고유 식별자*/
"ModifiedBy" varchar(255), /*각 레코드를 작성한 사용자의 계정 이름*/
"ModificationTimestamp" datetime, /*각 레코드를 마지막으로 수정한 사용자의 계정 이름*/
PRIMARY KEY (PrimaryKey),
FOREIGN KEY (ForeignKey) REFERENCES Meetings(PrimaryKey)
);
미팅 테이블에는 필드 주석이 설정되어 있지 않으므로 모든 필드가 포함됩니다. 주석이 있는 필드의 경우 주석의 텍스트가 포함됩니다.
주제 테이블에서 필드 주석은 네 개의 필드에 대해 설정되었으므로 해당 필드만 주석과 함께 포함됩니다.
예제 2
AI 호출 로깅을 켠 후 테이블 발생 이름 배열에 대해 GetTableDDL이 ignoreError 매개 변수가 False로 설정된 오류를 반환하는지 확인합니다.
AI 통화 로깅 설정 [ 켬 ; 파일 이름: "ai-call.log" ; 상세: 끔 ]
변수 설정 [ $tableDDL ; 값:
GetTableDDL ( JSONMakeArray ( "Meetings,Employees,Contact Info" ; "," ; JSONString ) ;
False ) ]
If [ $tableDDL = "?" ]
사용자 지정 대화 상자 표시 [ "오류가 발생했습니다. 문서 폴더에서 ai-call.log를 참조하세요." ]
Else
사용자 지정 대화 상자 표시 [ $tableDDL ]
End If