COBOL - DCLGEN 主机变量不明确

问题描述

嗨,我正在尝试在 tbl1 和 tbl2 上运行带有内部联接的 sql 选择查询

2 个表的 DCLGEN,即 DCLTBL1 和 DCLTBL2 几乎没有相似的列名,因此我收到错误消息,因为 HOST 变量未解析,因为 HOST 变量在编译期间不明确。

sql 查询

EXEC sql
 SELECT A.COLUMN1,A.COLUMN2 
   FROM TBL1 A INNER JOIN TBL2 B ON A.COLUMN1 = B.COLUMN2
  WHERE A.COLUMN1 = :HOST-VARIABLE1
    AND A.COLUMN2 = :HOST-VARIABLE2
END-EXEC.

可以做些什么来解决这个问题?

解决方法

IBM Z 上的 I Db2 允许限定您的主机变量。

试试:HOST-VARIABLE1.:TBL1-DCLGEN-STRUCTURE

我可能会反过来。