COBOL - 文件访问模式
到目前为止,文件组织方案已经讨论完毕。 对于每种文件组织方案,可以使用不同的访问模式。 以下是文件访问模式的类型 −
- 顺序访问
- 随机访问
- 动态访问
本模块中的语法及其各自的术语仅指它们在程序中的用法。 使用这些语法的完整程序将在下一章中讨论。
顺序访问
当访问模式为顺序时,记录检索的方法根据所选的文件组织而变化。
对于顺序文件,记录的访问顺序与插入顺序相同。
对于索引文件,用于获取记录的参数是记录键值。
对于相对文件,相对记录键用于检索记录。
语法
以下是顺序访问模式的语法 −
ENVIRONMENT DIVISION. INPUT-OUTPUT SECTION. FILE-CONTROL. SELECT file-name ASSIGN TO dd-name ORGANIZATION IS SEQUENTIAL ACCESS MODE IS SEQUENTIAL ENVIRONMENT DIVISION. INPUT-OUTPUT SECTION. FILE-CONTROL. SELECT file-name ASSIGN TO dd-name ORGANIZATION IS INDEXED ACCESS MODE IS SEQUENTIAL RECORD KEY IS rec-key1 ALTERNATE RECORD KEY IS rec-key2 ENVIRONMENT DIVISION. INPUT-OUTPUT SECTION. FILE-CONTROL. SELECT file-name ASSIGN TO dd-name ORGANIZATION IS RELATIVE ACCESS MODE IS SEQUENTIAL RELATIVE KEY IS rec-key1
随机访问
当访问模式为随机时,记录检索方法根据所选文件组织而变化。
对于索引文件,根据放置在键字段中的值来访问记录,该键字段可以是主键或备用键。 可以有一个或多个备用索引。
对于相对文件,通过相对记录键检索记录。
语法
以下是随机访问模式的语法 −
ENVIRONMENT DIVISION. INPUT-OUTPUT SECTION. FILE-CONTROL. SELECT file-name ASSIGN TO dd-name ORGANIZATION IS INDEXED ACCESS MODE IS RANDOM RECORD KEY IS rec-key1 ALTERNATE RECORD KEY IS rec-key2 ENVIRONMENT DIVISION. INPUT-OUTPUT SECTION. FILE-CONTROL. SELECT file-name ASSIGN TO dd-name ORGANIZATION IS RELATIVE ACCESS MODE IS RANDOM RELATIVE KEY IS rec-key1
动态访问
动态访问支持同一程序中的顺序访问和随机访问。 通过动态访问,一个文件定义用于执行顺序和随机处理,例如按顺序访问某些记录,并按键访问其他记录。
对于相对文件和索引文件,动态访问模式允许您在读取文件时使用 READ 语句中的 NEXT 短语在顺序访问模式和随机访问模式之间来回切换。 NEXT 和 READ 功能将在下一章中讨论。
语法
以下是动态访问模式的语法 −
ENVIRONMENT DIVISION. INPUT-OUTPUT SECTION. FILE-CONTROL. SELECT file-name ASSIGN TO dd-name ORGANIZATION IS SEQUENTIAL ACCESS MODE IS DYNAMIC RECORD KEY IS rec-key1 ALTERNATE RECORD KEY IS rec-key2 ENVIRONMENT DIVISION. INPUT-OUTPUT SECTION. FILE-CONTROL. SELECT file-name ASSIGN TO dd-name ORGANIZATION IS RELATIVE ACCESS MODE IS DYNAMIC RELATIVE KEY IS rec-key1