如何在DB2中使用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

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.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这是一个清除过程。计数在清除开始之前运行,紧接着在删除行计数之后运行。需要有活力