本文概述
- 顺序访问
- 随机访问
- 动态访问
访问方式用于根据程序要求定义文件的访问方式。简而言之, 可以说, 访问模式定义了如何从文件读取和写入数据。
主要有三种访问方式:
- 顺序访问
- 随机访问
- 动态访问
检索记录的方法根据所选文件的组织而异。
【COBOL-文件访问模式】在顺序文件中, 以与插入记录相同的方式检索记录。
对于索引文件, 从文件位置指示符的当前位置开始, 按所选密钥文件的顺序访问记录。
对于相对文件, 按相对记录号的顺序访问记录。
语法如下:
ENVIRONMENT DIVISION.INPUT-OUTPUT SECTION.FILE-CONTROL.SELECT file-name ASSIGN TO dd-nameORGANIZATION IS SEQUENTIALACCESS MODE IS SEQUENTIALENVIRONMENT DIVISION.INPUT-OUTPUT SECTION.FILE-CONTROL.SELECT file-name ASSIGN TO dd-nameORGANIZATION IS INDEXEDACCESS MODE IS SEQUENTIALRECORD KEY IS rec-key1ALTERNATE RECORD KEY IS rec-key2ENVIRONMENT DIVISION.INPUT-OUTPUT SECTION.FILE-CONTROL.SELECT file-name ASSIGN TO dd-nameORGANIZATION IS RELATIVEACCESS MODE IS SEQUENTIALRELATIVE KEY IS rec-key1
顺序访问模式的缺点
当文件具有较少的记录时, 顺序访问模式非常有效, 但是当文件具有大量的记录时, 从文件中读取特定的记录将花费太多时间。
随机访问在随机访问模式下, 我们可以随机访问记录, 即直接通过提供密钥即可。
这种访问方式通常仅用于索引文件和相对文件。
对于索引文件, 将根据你在键字段中放置的值来检索记录。价值可以是主要的, 替代的或相对的。可以有一个或多个备用索引。
根据你在相对键中输入的值来检索相对文件的记录。
语法如下:
ENVIRONMENT DIVISION.INPUT-OUTPUT SECTION.FILE-CONTROL.SELECT file-name ASSIGN TO dd-nameORGANIZATION IS INDEXEDACCESS MODE IS RANDOMRECORD KEY IS rec-key1ALTERNATE RECORD KEY IS rec-key2ENVIRONMENT DIVISION.INPUT-OUTPUT SECTION.FILE-CONTROL.SELECT file-name ASSIGN TO dd-nameORGANIZATION IS RELATIVEACCESS MODE IS RANDOMRELATIVE KEY IS rec-key1
动态访问在同一程序中, 动态访问允许顺序访问和随机访问。在动态访问模式下, 我们可以对两种类型的处理(即随机和顺序处理)使用文件描述, 例如借助键检索某些记录, 并按顺序检索某些记录。
对于相对文件和索引文件, 动态访问模式使你可以通过使用READ语句上的NEXT短语在读取文件时在随机访问模式和顺序访问模式之间切换。
语法如下:
ENVIRONMENT DIVISION.INPUT-OUTPUT SECTION.FILE-CONTROL.SELECT file-name ASSIGN TO dd-nameORGANIZATION IS SEQUENTIALACCESS MODE IS DYNAMICRECORD KEY IS rec-key1ALTERNATE RECORD KEY IS rec-key2ENVIRONMENT DIVISION.INPUT-OUTPUT SECTION.FILE-CONTROL.SELECT file-name ASSIGN TO dd-nameORGANIZATION IS RELATIVEACCESS MODE IS DYNAMICRELATIVE KEY IS rec-key1
推荐阅读
- COBOL-文件处理
- COBOL-条件语句用法图解
- COBOL-数据库接口
- 全民k歌下载|全民k歌app下载
- spring 5.1.2 mvc HanderMapping源码
- 运行流畅快速不卡顿的第三方Android模拟器的安装及配置——夜神模拟器
- spring mvc HanderMapping源码
- Android SDK下载与安装
- 基于android的天气预报的设计与实现