如果DCLGEN成员使用COPY语句而不是INCLUDE语句给出,结果将是什么?

INCLUDE和COPY语句之间的主要区别在于,带有INCLUDE语句的PDS成员在预编译期间被扩展,而带有COPY语句的PDS成员在编译期间被扩展。

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

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

猜你喜欢