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

随机访问

当访问模式为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