如果使用 COPY 语句而不是 INCLUDE 给出 DCLGEN,结果会怎样?

INCLUDE 和 COPY 语句的主要区别在于,带有 INCLUDE 语句的 PDS 成员在预编译期间进行了扩展,而带有 COPY 语句的 PDS 成员在编译过程中进行了扩展。

由于 DCLGEN 成员包含表(表结构)的列名,因此需要在预编译期间对其进行扩展。这是因为在预编译时,所有 SQL 语句都经过验证,放置在 DBRM 中,最后由适当的 COBOL 调用替换。

如果给 DCLGEN 成员提供 COPY 语句而不是 INCLUDE 语句,那么在预编译期间将导致 DB2 警告,因为预编译器将无法验证 COBOL-DB2 程序中的 SQL 语句。

猜你喜欢