gpt4 book ai didi

sql - Oracle - 对结果集的每一行执行操作

转载 作者:行者123 更新时间:2023-12-04 23:53:59 25 4
gpt4 key购买 nike

我需要查询方面的帮助。该查询返回数据库中所有 View 的列。我的最终目标是让整个结果集成为包含数据库中所有 View 的一列,另一列包含每个对应表中存在的记录/行数。

这个:

SELECT DISTINCT OWNER, 
OBJECT_NAME
FROM DBA_OBJECTS
WHERE OBJECT_TYPE = 'VIEW'
AND OWNER = 'ADMIN'

返回第一列,但我似乎无法找到将其与以下内容结合的方法:
select count(*) from view_X

获取结果集的第二列。

任何帮助,将不胜感激。
谢谢

最佳答案

借助一些 XML 魔法,这可以通过一条语句完成:

select object_name as view_name,
to_number(extractvalue(xmltype(dbms_xmlgen.getxml('select count(*) c from "'||owner||'"."'||object_name||'"')),'/ROWSET/ROW/C')) as row_count
from dba_objects
where object_type = 'VIEW'
and owner = 'ADMIN'
order by 1;

关于sql - Oracle - 对结果集的每一行执行操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19119036/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com