COBOL - 内部排序

2024 年 8 月 29 日 | 阅读 3 分钟

顺序文件在数据处理应用中非常常用。这些文件中的记录通常需要按升序或降序排列,以便正确、轻松和快速地访问。

在文件中的数据排序或合并两个或多个文件几乎是所有应用程序中的常见要求。排序是一种用于以升序或降序排列记录的技术,以便能够执行顺序处理。

COBOL 中有两种技术可用于对文件进行排序

外部排序: 用于借助 JCL 中的 SORT 实用程序对文件进行排序。

内部排序: 此方法在 COBOL 程序中对文件进行排序。 COBOL 提供了 SORT 动词来对文件进行排序。

SORT 动词

Sort 动词接受来自非顺序文件或内部过程的输入,并以请求的顺序将输出生成到文件或内部过程。在排序之前或之后,您可以添加、更新或删除记录。

SORT 动词使用三个文件在 COBOL 中执行排序

  • 输入文件: 这是要按升序或降序排序的文件。
  • 工作文件: 此文件在排序过程中保存记录。 为了执行排序操作,所有输入文件的记录都将传输到工作文件。 该文件需要在 File-section 下的 SD (排序文件描述级别) 条目中定义。
  • 输出文件: 输出文件是结果文件,排序过程的最终结果将存储在该文件中。 意味着,此文件是 Sort 动词的最终输出。

语法

SORT 动词执行以下操作

  • 它以 INPUT 模式打开输入文件,以 I-O 模式打开工作文件,并以 OUTPUT 模式打开输出文件。
  • 它将记录从输入文件传输到工作文件以进行排序操作。
  • 根据您的要求按升序或降序对 SORT-FILE 进行排序。
  • 它将排序后的记录从工作文件传输到输出文件。
  • 关闭输入文件和输出文件,并删除工作文件。

MERGE 动词

Merge 动词用于比较来自两个或多个排序文件的记录,并将它们按顺序组合。 合并后,您可以添加、更新或删除记录。

SORT 动词使用四个文件在 COBOL 中执行排序

  • 输入文件: 需要两个输入文件才能执行合并操作。
  • 工作文件
  • 输出文件

语法

Merge 动词执行以下操作

  • 它以 INPUT 模式打开输入文件,以 I-O 模式打开工作文件,并以 OUTPUT 模式打开输出文件。
  • 它将记录从输入文件传输到工作文件以进行合并过程。
  • 它合并文件。
  • 它将合并后的记录从工作文件传输到输出文件。
  • 关闭输入文件和输出文件,并删除工作文件。

下一个主题COBOL 数据库接口