到目前为止,已经讨论过文件组织方案.对于每个文件组织方案,可以使用不同的访问模式.以下是文件访问模式的类型 :
顺序访问
随机访问
动态访问
此模块中的语法及其各自的术语仅提及它们在程序.使用这些语法的完整程序将在下一章中讨论.
当访问模式是连续的时,记录检索的方法根据所选文件组织进行更改.
对于顺序文件,记录在它们的插入顺序相同.
对于索引文件,用于获取记录的参数是记录键值.
对于相关文件,相对记录密钥用于检索记录.
以下是顺序访问模式的语法 :
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
当访问模式为RANDOM时,记录检索方法根据所选方式而变化文件组织.
对于索引文件,根据放置在a中的值访问记录关键字段,可以是主键或备用键.可以有一个或多个备用索引.
对于相关文件,通过相对记录键检索记录.
以下是随机访问模式的语法 :
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