我想编写使用IBM DB2系统表(例如SYSIBM。)拉那导出以下查询的查询:如何访问DB2中的库,文件和字段描述?
LIBRARY_NAME,LIBRARY_DESC,FILE_NAME,FILE_DESC,FIELD_NAME,FIELD_DESC
我可以通过UI访问描述,但想要生成动态查询。
谢谢。
我想编写使用IBM DB2系统表(例如SYSIBM。)拉那导出以下查询的查询:如何访问DB2中的库,文件和字段描述?
LIBRARY_NAME,LIBRARY_DESC,FILE_NAME,FILE_DESC,FIELD_NAME,FIELD_DESC
我可以通过UI访问描述,但想要生成动态查询。
谢谢。
随着SYSTABLES
和SYSCOLUMNS
,还有一个SYSSCHEMAS
它似乎包含您需要的数据。请注意,通过QSYS2
访问此信息将限制返回到您访问某些访问的那些对象的行 - SYSIBM
模式似乎忽略了这一点(检查参考 - 对于V6R1它是关于页面1267)。
你也不应该需要通过动态查询来检索它 - 带主变量的静态(如果需要的话)将工作得很好。
我无法从SYSSCHEMAS撤回数据,但它似乎是一个权限问题(我正在努力解决)。 – Josh
@Josh - 您将需要'SELECT'访问'QSYS2'或'SYSIBM'模式,以及相关表格,尽管我会默认访问它们中的至少一个... –
我似乎有权访问到SYSTABLES和SYSCOLUMNS,但在遇到SYSSCHEMAS时收到此错误:[SQL0443] * N原因。 。 。 。 。 :检测到触发程序,外部过程或外部函数并向SQL返回错误。如果错误发生在触发器程序中,则触发器位于模式QSYS中的表QDBSSUDF2上。如果错误发生在外部过程或函数中,则在模式QSYS中外部名称为QDBSSUDF2 ... – Josh
请指出您在哪个平台上运行DB2。 –
我认为这是iSeries。也许这并没有提供足够的信息,但我终于找到了我正在寻找的表格。仍在追查图书馆的描述。我使用的是QSYS2(SYSTABLES和SYSCOLUMNS)模式,能够获得除库描述以外的所有信息。你知道那里的生活吗? – Josh