FileMaker 系统表
每个 FileMaker Pro 数据库文件都包含以下系统表:
-
FileMaker_Tables
-
FileMaker_Fields
-
FileMaker_BaseTables
-
FileMaker_BaseTableFields
-
FileMaker_ValueLists
-
FileMaker_ValueList_<valueListName>
对于 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'
FileMaker_ValueLists 表
FileMaker_ValueLists 表包含有关 FileMaker Pro 文件中定义的值列表的信息。关系值列表被排除在结果之外。
FileMaker_ValueLists 表包含以下各列:
-
ValueListName - 值列表的名称。
-
ValueListId - 值列表的唯一 ID。
-
来源 - 关于值列表以下来源之一:
-
自定义 - 基于自定义值的值列表。
-
字段-基于字段值的值列表。
-
外部 - 值列表位于外部 FileMaker Pro 文件中。
-
-
ModCount - 已提交的、对该表的定义所做更改的总次数。关系值列表返回为空。
示例
SELECT * FROM FileMaker_ValueLists WHERE ValueListName='SalesType'
FileMaker_ValueList_<valueListName> 表
FileMaker_ValueList_<valueListName> 表包含一列或两列,其中包含 <valueListName> 指定的值列表中的所有值列表项。
FileMaker_ValueList_<valueListName> 表包含以下各列:
-
值 - 值列表中的值。
-
SecondValues - 第二个字段的值,如果值列表基于字段值,则会指定第二个字段。
示例
SELECT * FROM FileMaker_ValueList_SalesType
注释 如果从指定值列表中获取值时出错,消息将显示“缺失”或“不支持”。