📅  最后修改于: 2020-11-22 16:54:28             🧑  作者: Mango
到目前为止,已经讨论了文件组织方案。对于每种文件组织方案,可以使用不同的访问模式。以下是文件访问模式的类型-
本模块中的语法以及它们各自的术语仅指它们在程序中的用法。使用这些语法的完整程序将在下一章中讨论。
当访问模式为顺序访问时,记录检索的方法将根据所选文件的组织而改变。
对于顺序文件,将按照插入记录的顺序访问记录。
对于索引文件,用于获取记录的参数是记录键值。
对于相对文件,相对记录键用于检索记录。
以下是顺序访问模式的语法-
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时,记录检索的方法将根据所选文件的组织而改变。
对于索引文件,将根据放置在键字段中的值(主键或备用键)访问记录。可以有一个或多个备用索引。
对于相对文件,通过相对记录键检索记录。
以下是随机访问模式的语法-
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