记录类型和属性

您可以使用多种 EGL 记录类型:

有关哪些目标系统支持哪些记录类型的详细信息,请参阅记录和文件类型交叉引用。有关如何初始化记录部件的详细信息,请参阅数据初始化

basicRecord

基本记录或固定基本记录用于内部处理,它们不能访问数据存储器。

在缺省情况下,该部件是一个记录部件,但如果字段定义前有级别号,则该部件是一个固定记录部件。

在类型为 basicRecord 的固定记录部件中,属性 redefines 是可用的。如果设置了该属性,则该属性标识已声明记录,而基于该固定记录部件的任何记录将访问已声明记录的运行时内存。

数据初始化中所述,在主程序中,程序属性 inputRecord 标识自动初始化的记录(或固定记录)。

indexedRecord

带索引记录是一个固定记录,它允许您使用通过键值(它标识文件中记录的逻辑位置)访问的文件。可以通过调用 getget nextget previous 语句来读取该文件。并且,也可以通过调用 addreplace 语句来写入文件;并且可以通过调用 delete 语句来从该文件中除去记录。

类型为 indexedRecord 的部件的属性包括下列各项:
  • fileName 是必需的。有关输入的含义的详细信息,请参阅资源关联(概述)。有关有效字符的详细信息,请参阅命名约定
  • keyItem 是必需的,并且只能是在同一记录中唯一的结构字段。必须使用未限定引用来指定键字段;例如,使用 myItem 而不是 myRecord.myItem。(然而,在 EGL 语句中,可以象引用任何字段一样引用键字段。)

另请参阅支持变长记录的属性

mqRecord

MQ 记录是一个固定记录,它允许您访问 MQSeries® 消息队列。有关详细信息,请参阅 MQSeries 支持

relativeRecord

相对记录是一个固定记录,它允许您使用其记录具有下列属性的数据集:
  • 固定长度
  • 可以通过一个表示文件中记录的顺序位置的整数来访问
类型为 relativeRecord 的部件的属性如下所示:
  • fileName 是必需的。有关输入的含义的详细信息,请参阅资源关联(概述)。有关有效字符的详细信息,请参阅命名约定
  • keyItem 是必需的。键字段可以是下列任何内存区:
    • 同一记录中的结构字段
    • 记录中对于程序来说是全局的或对于访问该记录的函数来说是局部的结构字段
    • 对于程序来说是全局的,对于访问该记录的函数来说是局部的基本变量

    必须使用未限定引用来指定键字段。例如,使用 myItem 而不是 myRecord.myItem。(在 EGL 语句中,可以象引用任何字段一样引用键字段。)键字段在访问记录的函数的局部作用域中必须是唯一的,或者,必须是不在局部作用域中并在全局作用域中是唯一的。

    键字段具有下列特征:
    • 具有基本类型 BIN、DECIMAL、INT 或 NUM
    • 不包含小数位
    • 最多允许 9 位数

    只有 getadd 语句使用键字段,但键字段必须可以供任何使用记录来进行文件访问的函数使用。

serialRecord

串行记录是一个固定记录,它允许您访问顺序访问的文件或数据集。可以通过调用 get 语句来从文件中读取记录,并且一系列 get next 语句将按顺序从第一条记录到最后一条记录读取文件记录。可以通过调用 add 语句来写入文件,该语句将新记录放在文件末尾。

串行记录属性包括 fileName,此属性是必需的。有关该属性的输入的含义的详细信息,请参阅资源关联(概述)。有关有效字符的详细信息,请参阅命名约定

另请参阅支持变长记录的属性

sqlRecord

SQL 记录是这样一个记录(或固定记录),它在您访问关系数据库时提供特殊服务。

在缺省情况下,该部件是一个记录部件,但如果字段定义前有级别号,则该部件是一个固定记录部件。

每个部件具有下列属性:
  • tableNames 中的一个条目标识与该部件相关联的 SQL 表。在一个连接中可以引用多个表,但是进行了一些限制以确保不使用单个 EGL 语句来写入多个表。可以将给定的表名与标号相关联,后者是用来在 SQL 语句中引用表的可选短名称。
  • defaultSelectCondition 是可选的。这些条件成为缺省 SQL 语句中的 WHERE 子句的一部分。在 EGL openget 语句或像 get nextget previous 这样的语句中使用 SQL 记录时,WHERE 子句是很有用的。

    在大多数情况下,SQL 缺省选择条件都将补充另一个条件,该条件基于 SQL 记录中的键字段值与 SQL 表的键列之间的关联。

  • tableNameVariables 是可选的。您可以指定一个或多个变量,在运行时,这些变量的内容确定要访问的数据库表,如动态 SQL中所述。
  • keyItems 是可选的。每个键字段都只能是在同一记录中唯一的结构字段。必须使用未限定引用来指定那些字段中的每一个;例如,使用 myItem 而不是 myRecord.myItem。(然而,在 EGL 语句中,可以象引用任何字段一样引用键字段。)

有关详细信息,请参阅 SQL 支持

使用条款 | 反馈
(C) Copyright IBM Corporation 2000, 2005. All Rights Reserved.