Plsql 在所有架构中运行查询

Plsql 在所有架构中运行查询,plsql,plsqldeveloper,Plsql,Plsqldeveloper,嗨,我是甲骨文的新手。我需要对数据库中的所有模式运行一个查询,比如scott、hr、exampleetc,数据库中有表事务。 有人能帮忙吗最好的方法是什么??我在数据库中有大约30个模式,我不能通过对所有模式运行这个来完成,因为它很耗时。。 我认为plsql将是最好的方法,但我自己没有足够的知识来做这件事 query example: select sum(amount) from abc.transaction t1 where t1.payment_method ='transfer'

嗨,我是甲骨文的新手。我需要对数据库中的所有模式运行一个查询,比如scott、hr、exampleetc,数据库中有表事务。 有人能帮忙吗最好的方法是什么??我在数据库中有大约30个模式,我不能通过对所有模式运行这个来完成,因为它很耗时。。 我认为plsql将是最好的方法,但我自己没有足够的知识来做这件事

query example:  
select sum(amount)
from abc.transaction t1
where t1.payment_method ='transfer' 
and TO_char(t1.result_time_stamp,'MONTH') = TO_char(sysdate,'MONTH')
order by t1.time_stamp asc;

谢谢你的帮助

如果需要一次聚合所有表中的数据,或者希望查看并在每个表上运行命令,我不确定要运行哪种类型的查询,但下面是一些应该让您开始的内容。它是一个游标,用于查找名为transaction的所有表。如果这些是临时查询,我只需复制下面游标输出的表名,编写一个基本查询并将其保存在某个地方,或者将其放入某种过程中。然后在将来修改并重新使用它

DECLARE
CURSOR c1
IS  
SELECT owner, table_name
  FROM all_tables
  WHERE upper(table_name) = 'TRANSACTION';
BEGIN
FOR c1rec in c1
LOOP
    dbms_output.put_line(c1rec.owner||'.'||c1rec.table_name);
END LOOP;
END;

我可以创建一个迭代吗?在这个迭代中,这个包的输出可以作为输入传递给下一个查询,并打印输出。示例:假设您的输出是scott.abc。我想将该输出用作下一个查询,如从scott.abc中选择col1、col2;你可以。为了做到这一点,您可能需要使用动态SQL,但它仍然适用于您。