FileMaker 系统表
每个 FileMaker Pro 数据库文件都包含以下系统表:
-
FileMaker_Tables
-
FileMaker_Fields
-
FileMaker_BaseTables
-
FileMaker_BaseTableFields
对于 ODBC 应用程序,这些表包含在目录函数 SQLTables 返回的信息中。对于 JDBC 应用程序,这些表包含在 DatabaseMetaData 方法 getTables 返回的信息中。这些表还可以用在 ExecuteSQL 函数中。
FileMaker_Tables 表
FileMaker_Tables 表包含有关 FileMaker Pro 文件中定义的数据库表的信息。
在 FileMaker_Tables 表中,关系图中的每个表摹本对应一行,另外还包括以下各列:
-
TableName - 表摹本的名称。
-
TableId - 表摹本的唯一 ID。
-
BaseTableName - 创建表摹本时所用的基表的名称。
-
BaseFileName - 包含基表的数据库文件的 FileMaker Pro 文件名。
-
ModCount - 已提交的、对该表的定义所做更改的总次数。
SELECT TableName FROM FileMaker_Tables WHERE TableName LIKE 'Sales%'
FileMaker_Fields 表
FileMaker_Fields 表包含有关 FileMaker Pro 文件中为所有表摹本所定义的字段信息。
FileMaker_Fields 表包含以下各列:
-
TableName - 包含字段的表的名称。
-
FieldName - 字段的名称。
-
FieldType - 字段的 SQL 数据类型。
-
FieldId - 字段的唯一 ID。
-
FieldClass - 三个值之一:Summary,用于合计字段;Calculated,用于计算结果;或 Normal。
-
FieldReps - 字段的重复数。
-
ModCount - 已提交的、对该表的定义所做更改的总次数。
SELECT * FROM FileMaker_Fields WHERE TableName='Sales'
FileMaker_BaseTables 表
FileMaker_BaseTables 表包含有关 FileMaker Pro 文件中定义的源(或基)表的信息。因为它不像 FileMaker_Tables 包含所有表摹本,所以 FileMaker_BaseTables 表的查询可能更快。
FileMaker_BaseTables 对具有以下列的每个基表包含一行:
-
BaseTableName - 基表的名称。
-
BaseTableId - 基表的唯一 ID。
-
源 - 有关基表的数据源的以下信息之一:
-
<Internal>
- 该表位于当前 FileMaker Pro 文件中。 -
<Missing>
- 数据源不可用。 -
可从中获取基表的外部数据源的名称。
-
-
ModCount - 已提交的、对该基表的定义所做更改的总次数。
SELECT BaseTableName FROM FileMaker_BaseTables WHERE BaseTableName LIKE 'Sales%'
FileMaker_BaseTableFields 表
FileMaker_BaseTableFields 表包含有关 FileMaker Pro 文件中仅为源(或基)表定义的字段的信息。
FileMaker_BaseTableFields 表包含以下各列:
-
BaseTableName - 包含字段的基表的名称。
-
FieldName - 字段的名称。
-
FieldType - 字段的 SQL 数据类型。
-
FieldId - 字段的唯一 ID。
-
FieldClass - 三个值之一:Summary,用于合计字段;Calculated,用于计算结果;或 Normal。
-
FieldReps - 字段的重复数。
-
ModCount - 已提交的、对该基表的定义所做更改的总次数。
SELECT * FROM FileMaker_BaseTableFields WHERE BaseTableName='Sales'