codecamp

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

随机访问

当访问模式为随机(RANMOM)时,记录检索方法根据所选文件组织而变化。

  • 对于索引文件,记录可以通过主键或备用键的键字段中的值来访问。可以有一个或多个备用索引。

  • 对于相对文件,记录通过记录相对键进行检索。

语法

以下是随机访问模式的语法:

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
COBOL 文件组织
COBOL 文件处理动词
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

COBOL 资源

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }