COBOL 文件訪問模式

2018-10-17 16:05 更新

截至目前,已經(jīng)對文件組織方案進行了討論。對于每一個文件組織方案,可以使用不同的訪問模式。以下是文件訪問模式的類型:

  • 順序訪問
  • 隨機訪問
  • 動態(tài)訪問

本章節(jié)中提到的語法及其各自的術(shù)語,僅涉及它們在程序中的用法。使用這些語法的完整程序?qū)⒃谙乱徽掠懻摗?

順序訪問

當訪問模式是按順序的,記錄檢索的方法根據(jù)所選的文件組織而變化。

  • 對于順序文件 ,被插入的記錄仍按相同的順序進行訪問。

  • 對于索引文件 ,用于獲取記錄的參數(shù)是記錄的鍵值。

  • 對于相對文件 ,記錄相對鍵用于檢索記錄。

語法

以下是順序訪問模式的語法:

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)時,記錄檢索方法根據(jù)所選文件組織而變化。

  • 對于索引文件,記錄可以通過主鍵或備用鍵的鍵字段中的值來訪問??梢杂幸粋€或多個備用索引。

  • 對于相對文件,記錄通過記錄相對鍵進行檢索。

語法

以下是隨機訪問模式的語法:

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

動態(tài)訪問

動態(tài)訪問支持在同一程序中的順序和隨機訪問。通過動態(tài)訪問,一個文件定義可用于執(zhí)行順序和隨機進程,例如按順序訪問一些記錄和通過鍵訪問其他記錄。

使用相對和索引文件,動態(tài)訪問模式允許你在順序訪問模式和隨機訪問模式之間來回切換,同時使用READ語句上的NEXT短語讀取文件。NEXT和READ的功能將在下一章中進行討論。

語法

以下是動態(tài)訪問模式的語法:

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
以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號