当前位置:  开发笔记 > 数据库 > 正文

带有SQL的文件中的源成员列表

如何解决《带有SQL的文件中的源成员列表》经验,为你挑选了2个好方法。

是否可以使用SQL生成iSeries源文件中所有源成员的列表?

可能类似于从SYSTABLES和SYSCOLUMNS获取表定义,但到目前为止我找不到任何东西.



1> John Y..:

自提出其他答案以来,系统目录中添加了更多表和视图.现在,您可以获取给定文件(aka表)的成员列表(在SQL术语中称为"分区"),如下所示:

SELECT TABLE_PARTITION FROM SYSPARTITIONSTAT
WHERE TABLE_NAME = myfile AND TABLE_SCHEMA = mylib

您还可以从其中获取其他信息,SYSPARTITIONSTAT例如每个成员中的行数,以及上次更改,保存,还原或使用的时间戳.



2> squarefox..:

遗憾的是,SQL对成员一无所知,因此您可以从qsys2.syscolumns中获得的所有sourcefile-info都是,它们由三列组成。

您需要成员信息,我建议将qshell(STRQSH)连同对qsys2.systables的查询一起使用,因为源文件已在此处特别标记。

select table_schema , table_name from qsys2.systables where File_type = 'S'

我为了复制和粘贴目的而拼凑了一个qshell单线..

db2 -S "select '/QSYS.LIB/' concat table_schema concat '.LIB/' concat table_name concat '.FILE' from qsys2.systables where File_type = 'S'" | grep '/' | xargs -n1 find >/home/myuser/myfile                                                                            

它将找到的每个成员传送到IFS目录/ home / myuser / myfile中,您也可以指定Sourcefile成员。随时修改您的需求。

PS:直接在/QSYS.LIB中的Sourcefiles会引发错误,但我认为您还是不想要这些。

照顾自己!:)

推荐阅读
135369一生真爱_890
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有