COBOL-DB2程式中DCLGEN和宿主變數的用途和用法是什麼?


COBOL-DB2程式可以查詢/更新/插入/刪除多個DB2表中的資料。但是,為了實現這一點,我們必須滿足兩個主要條件。

  1. 將DB2表的結構通知COBOL-DB2程式。這包括所有列和這些列的資料型別。

  2. 每個列的相應宿主變數。宿主變數用於程式邏輯中,將資料從DB2移動到程式,反之亦然。每個表列都有一個基於其資料型別的宿主變數。例如,對於資料型別為CHAR(2)的表列,應該有一個與COBOL資料型別PIC X(2)等效的宿主變數。

DCLGEN實用程式幫助我們自動生成表結構和宿主變數。使用此實用程式,我們只需要提供DB2表名,它將返回表結構和PDS成員中的宿主變數。我們可以在COBOL-DB2程式的工作儲存區部分使用INCLUDE語句簡單地使用此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)的宿主變數。如果我們想使用此宿主變數將資料從DB2移動到程式,那麼我們可以:

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

更新於:2020年9月14日

4K+瀏覽量

啟動你的職業生涯

透過完成課程獲得認證

開始學習
廣告