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'