如何在DB2中使用xml提取表计数的值?(请参见Oracle等效产品)
DBA专家, 我试图在DB2中仅使用一个查询列出一些表和该表的计数 我已经能够在Oracle中通过提取xml的值来实现这一点——请参见下面的Oracle查询如何在DB2中使用xml提取表计数的值?(请参见Oracle等效产品),xml,database,oracle,db2,database-administration,Xml,Database,Oracle,Db2,Database Administration,DBA专家, 我试图在DB2中仅使用一个查询列出一些表和该表的计数 我已经能够在Oracle中通过提取xml的值来实现这一点——请参见下面的Oracle查询 select a.table_name, to_number(extractvalue(xmltype(dbms_xmlgen.getxml('select count(*) c from '||a.table_name)),'/ROWSET/ROW/C')) as count from all_tables a where a.own
select a.table_name,
to_number(extractvalue(xmltype(dbms_xmlgen.getxml('select count(*) c from '||a.table_name)),'/ROWSET/ROW/C')) as count
from all_tables a
where a.owner = user
and a.table_name like 'E_AUD%';
结果如下所示
TABLE_NAME COUNT
---------- ------
E_AUD_LOG 198001
E_AUD_LOG_1 435900
对于如何编写DB2等价查询的extractvalue部分,我有点困惑——有指针吗?我研究过DB2XMLS,但对我来说,它不像Oracle那样直截了当
select s.name
--, to_number(extractvalue(xmltype(dbms_xmlgen.getxml('select count(*) c from '||s.name)),'/ROWSET/ROW/C')) as count
from sysibm.systables s
where s.creator = user
and s.type = 'T'
and s.name like 'E_AUD%';
为什么不能简单地使用“选择名称,sysibm.systables中的卡和ur”?对所有表动态运行计数(*)的真正需要是什么?@askids这是一个清除过程。计数在清除开始之前运行,紧接着在删除行计数之后运行。需要有活力