db2目录表中不提供包的SQL语句

时间:2014-11-27 08:53:25

标签: db2

我想检查DB2包的SQL语句。但是DB2目录表中没有可用的语句。

我使用了查询:

SELECT STMT FROM SYSIBM.SYSPACKSTMT
WHERE NAME =<package-name>

STMT column中没有任何陈述。任何人都可以建议我在哪里可以检查包的sql语句?

仅供参考,我正在使用DB2 Z/OS V10。我们将迁移到V11,但在此之前,我们希望确保推荐到SYSSTR system tablespace的软件包作为迁移前v11的一部分进行修改。

提前致谢。

1 个答案:

答案 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表

  • LOCATION
  • COLLID
  • NAME
  • CONTOKEN
  • SEQNO
  • STMTNO
  • SECTNO
  • BINDERROR
  • IBMREQD
  • VERSION
  • STMT
  • 分离
  • STATUS
  • 易达
  • STMTNOI
  • SECTNOI
  • 解释的
  • QUERYNO
  • ROWID
  • STMT_ID
  • 声明
  • STMTBLOB

如果您的SYSPACKSTMT表包含不同的列,那么我恐怕无法帮助您。在我的公司DB2上,它看起来像那样,而STATEMENT列包含SQL。如果它确实看起来不同我建议与您的数据库管理员交谈。

Edit2:IBM的官方db2文档的链接。它还列出了描述的STATEMENT列:

  

该行表示的SQL语句的完整文本。

正是您正在寻找的! http://www-01.ibm.com/support/knowledgecenter/#!/SSEPEK_10.0.0/com.ibm.db2z10.doc.sqlref/src/tpc/db2z_sysibmsyspackstmttable.dita?cp=SSEPEK_10.0.0%2F10-0-75