文件访问模式( File Access Mode)
优质
小牛编辑
131浏览
2023-12-01
到目前为止,已经讨论了文件组织方案。 对于每个文件组织方案,可以使用不同的访问模式。 以下是文件访问模式的类型 -
- 顺序访问
- 随机访问
- 动态访问
本模块中的语法及其各自的术语仅涉及它们在程序中的用法。 使用这些语法的完整程序将在下一章中讨论。
顺序访问
当访问模式是顺序的时,记录检索的方法根据所选的文件组织而改变。
对于sequential files ,记录的访问顺序与插入顺序相同。
对于indexed files ,用于获取记录的参数是记录键值。
对于relative files ,相对记录键用于检索记录。
语法 (Syntax)
以下是顺序访问模式的语法 -
ENVIRONMENT DIVISION.
INPUT-OUTPUT SECTION.
FILE-CONTROL.
SELECT file-name ASSIGN TO dd-name
ORGANIZATION IS <b>SEQUENTIAL</b>
ACCESS MODE IS <b>SEQUENTIAL</b>
ENVIRONMENT DIVISION.
INPUT-OUTPUT SECTION.
FILE-CONTROL.
SELECT file-name ASSIGN TO dd-name
ORGANIZATION IS <b>INDEXED</b>
ACCESS MODE IS <b>SEQUENTIAL</b>
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 <b>RELATIVE</b>
ACCESS MODE IS <b>SEQUENTIAL</b>
RELATIVE KEY IS rec-key1
随机访问
当访问模式为RANDOM时,记录检索方法根据所选文件组织而变化。
对于indexed files ,根据键字段中的值来访问记录,该字段可以是主键或备用键。 可以有一个或多个备用索引。
对于relative files ,通过相对记录键检索记录。
语法 (Syntax)
以下是随机访问模式的语法 -
ENVIRONMENT DIVISION.
INPUT-OUTPUT SECTION.
FILE-CONTROL.
SELECT file-name ASSIGN TO dd-name
ORGANIZATION IS <b>INDEXED</b>
ACCESS MODE IS <b>RANDOM</b>
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 <b>RELATIVE</b>
ACCESS MODE IS <b>RANDOM</b>
RELATIVE KEY IS rec-key1
动态访问
动态访问支持同一程序中的顺序访问和随机访问。 通过动态访问,一个文件定义用于执行顺序和随机处理,例如按顺序访问某些记录,按键访问其他记录。
对于相对和索引文件,动态访问模式允许您在使用READ语句中的NEXT短语读取文件时在顺序访问模式和随机访问模式之间来回切换。 NEXT和READ功能将在下一章中讨论。
语法 (Syntax)
以下是动态访问模式的语法 -
ENVIRONMENT DIVISION.
INPUT-OUTPUT SECTION.
FILE-CONTROL.
SELECT file-name ASSIGN TO dd-name
ORGANIZATION IS <b>SEQUENTIAL</b>
ACCESS MODE IS <b>DYNAMIC</b>
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 <b>RELATIVE</b>
ACCESS MODE IS <b>DYNAMIC</b>
RELATIVE KEY IS rec-key1