个性化阅读
专注于IT技术分析

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短语在读取文件时在随机访问模式和顺序访问模式之间切换。

语法如下:

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

赞(0)
未经允许不得转载:srcmini » COBOL-文件访问模式

评论 抢沙发

评论前必须登录!