COBOL-DB2程式中DCLGEN和宿主變數的用途和用法是什麼?
COBOL-DB2程式可以查詢/更新/插入/刪除多個DB2表中的資料。但是,為了實現這一點,我們必須滿足兩個主要條件。
將DB2表的結構通知COBOL-DB2程式。這包括所有列和這些列的資料型別。
每個列的相應宿主變數。宿主變數用於程式邏輯中,將資料從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
廣告