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 短語。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
廣告