COBOL - Chế độ truy cập tệp
Cho đến nay, các kế hoạch tổ chức tệp đã được thảo luận. Đối với mỗi lược đồ tổ chức tệp, các chế độ truy cập khác nhau có thể được sử dụng. Sau đây là các loại chế độ truy cập tệp:
- Truy cập tuần tự
- Truy cập ngẫu nhiên
- Quyền truy cập động
Các cú pháp trong mô-đun này, được đề cập cùng với các thuật ngữ tương ứng, chỉ đề cập đến cách sử dụng của chúng trong chương trình. Các chương trình hoàn chỉnh sử dụng các cú pháp này sẽ được thảo luận trong chương tiếp theo.
Truy cập tuần tự
Khi chế độ truy cập là tuần tự, phương pháp truy xuất bản ghi sẽ thay đổi theo tổ chức tệp đã chọn.
Đối với sequential files, các bản ghi được truy cập theo cùng thứ tự mà chúng đã được chèn vào.
Đối với indexed files, tham số được sử dụng để tìm nạp các bản ghi là các giá trị khóa bản ghi.
Đối với relative files, các khóa bản ghi tương đối được sử dụng để truy xuất các bản ghi.
Cú pháp
Sau đây là cú pháp của chế độ truy cập tuần tự:
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
Truy cập ngẫu nhiên
Khi chế độ truy cập là RANDOM, phương pháp truy xuất bản ghi sẽ thay đổi theo tổ chức tệp đã chọn.
Đối với indexed files, các bản ghi được truy cập theo giá trị được đặt trong trường khóa có thể là khóa chính hoặc khóa thay thế. Có thể có một hoặc nhiều chỉ mục thay thế.
Đối với relative files , các bản ghi được truy xuất thông qua các khóa bản ghi tương đối.
Cú pháp
Sau đây là cú pháp của chế độ truy cập ngẫu nhiên:
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
Quyền truy cập động
Truy cập động hỗ trợ cả truy cập tuần tự và truy cập ngẫu nhiên trong cùng một chương trình. Với quyền truy cập động, một định nghĩa tệp được sử dụng để thực hiện cả xử lý tuần tự và xử lý ngẫu nhiên như truy cập một số bản ghi theo thứ tự tuần tự và các bản ghi khác bằng khóa của chúng.
Với các tệp tương đối và được lập chỉ mục, chế độ truy cập động cho phép bạn chuyển đổi qua lại giữa chế độ truy cập tuần tự và chế độ truy cập ngẫu nhiên trong khi đọc tệp bằng cách sử dụng cụm từ NEXT trên câu lệnh READ. Các chức năng NEXT và READ sẽ được thảo luận trong chương tiếp theo.
Cú pháp
Sau đây là cú pháp của chế độ truy cập động:
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