我想检查DB2包的SQL语句。但是DB2目录表中没有可用的语句。
我使用了查询:
SELECT STMT FROM SYSIBM.SYSPACKSTMT
WHERE NAME =<package-name>
但STMT column
中没有任何陈述。任何人都可以建议我在哪里可以检查包的sql语句?
仅供参考,我正在使用DB2 Z/OS V10
。我们将迁移到V11
,但在此之前,我们希望确保推荐到SYSSTR system tablespace
的软件包作为迁移前v11
的一部分进行修改。
提前致谢。
答案 0 :(得分:0)
也许我可以帮助你。我们也在DB2 Z / OS V10上,我发现了一个名为
的表SYSIBM.SYSPACKSTMT
在表中有一个名为STMT的COLUMN,它也是空的,但也是一个名为STATEMENT的列,它包含SQL语句。 那么看看那个表
SELECT STMNT_ID, STATEMENT FROM SYSIBM.SYSPACKSTMT
WHERE NAME = <package name>
编辑: 好的,你说SYSPACKSTMT表中没有列STATEMENT: 这里有这个表在我们的Z / OS DB2 V10上的所有列。 我不能排除你的表不同,但我怀疑它是一个DB2的System表
如果您的SYSPACKSTMT表包含不同的列,那么我恐怕无法帮助您。在我的公司DB2上,它看起来像那样,而STATEMENT列包含SQL。如果它确实看起来不同我建议与您的数据库管理员交谈。
Edit2:IBM的官方db2文档的链接。它还列出了描述的STATEMENT列:
该行表示的SQL语句的完整文本。