COBOL-DB2程序中使用的DCLGEN和宿主变量的用途和目的是什么

COBOL-DB2 程序可以从多个 DB2 表中查询/更新/插入/删除数据。然而,为了实现这一点,我们必须满足两个主要条件。

  1. 将 DB2 表的结构通知给 COBOL-DB2 程序。这包括这些列的所有列和数据类型。

  2. 每列的相应主机变量。宿主变量在程序逻辑中用于将数据从 DB2 移动到程序,反之亦然。每个表列都有一个基于其数据类型的主变量。例如,对于数据类型为 CHAR(2) 的表列,应该有一个与 PIC X(2) 等效的 COBOL 数据类型的主变量。

DCLGEN 实用程序帮助我们自动生成表结构和主机变量。使用这个实用程序,我们只需要给出 DB2 表名,它就会返回表结构和 PDS 成员中的主机变量。我们可以使用如下的 INCLUDE 语句在 COBOL-DB2 程序的工作存储部分中简单地使用这个 PDS 成员 -

EXEC SQL
   INCLUDE ORDERD
END-EXEC

ORDERD 是使用 DCLGEN 实用程序生成的 PDS 成员。这将具有 ORDERS 表的结构和所有列的主变量。例如,数据类型为 CHAR(30) 和 TIMESTAMP 的 ORDER_ID 和 ORDER_DATE 列将有一个主变量为 ORDER-ID PIC X(30) 和 ORDER-DATE PIC X(26)respectively.If我们要使用这个主变量来移动从 DB2 到程序的数据,然后我们可以有 -

EXEC SQL
EXEC SQL
   SELECT ORDER_DATE
      INTO :ORDER-DATE,
      FROM ORDERS
      WHERE ORDER_ID = :ORDER-ID
END-EXEC
END-EXEC

猜你喜欢