给定一个返回表名的查询,是否可以评估名称并在后续查询中使用它?
例如
select count(1) from x where x in
(select table_name from ALL_TABLES where table_name like 'MY_TABLE_%');
Run Code Online (Sandbox Code Playgroud)
显然这是无效的语法,但它应该说明我正在尝试做什么.
您可以,但它需要您使用XML查询.
select
table_name,
to_number(
extractvalue(
xmltype(
dbms_xmlgen.getxml('select count(*) c ' ||
' from '||owner||'.'||table_name))
,'/ROWSET/ROW/C')) count
from all_tables
where table_name like 'MY_TABLE_%'
Run Code Online (Sandbox Code Playgroud)