【发布时间】:2014-02-12 03:44:42
【问题描述】:
使用 oracle SQL 时,是否可以基于子查询中的 text_string 运行查询? 一个例子可能会阐明我想要做什么
select count(sql_text), sql_text
from
(select sql_text
from query_table) sql_table
group by sql_text;
外部查询旨在计算从 query_table 中检索到的每个查询的结果数。
有什么方法可以在同一个查询中执行从我的 query_table 检索到的 sql 语句?
谢谢
编辑: 我能够使用 dbms_xmlgen.get_xml() 函数从表中查询 sql。我想任何导致 sql 被解析和执行的命令都可以工作。 话虽如此,这是我能够完成的通用代码:
select to_number (
extractvalue(
xmltype(
dbms_xmlgen.getxml('select count(*) c from '|| table_name)), '/ROWSET/ROW/C'))counter,
sql_text
from
(select '('||sql_text||')' table_name
from query_table) sql_table;
虽然可能不是最优雅的做事方式,但它可以工作并且是一条 sql 语句。
【问题讨论】:
-
别以为可以这样,可能在PL/SQL中
-
为什么不先调用内部查询,然后从代码中进行主查询?
-
@Bozorgzadeh 我正在尝试从结果中创建一个视图,以删除遗留系统中的一堆手动编码
-
伙计,这对我帮助很大,你的答案正是我想要的,谢谢!