Hi,我有4个或更多的结构相同的表,分属不同的用户,现在,想用SQL语句把这些表的所有记录合并成一个大的记录集,请问如何写?获取表名:
SELECT OWNER||'.'||TABLE_NAME FROM all_tables WHERE TABLE_NAME='ABC'
将生成4条或更多条记录获取单个表记录(所有者为XIE):
SELECT * FROM XIE.ABC如何把这4个或更多个表的记录合并成大记录集。谢谢!

解决方案 »

  1.   

    select 'user_a' owner,a.* from user_a.table_a a
    union all
    select 'user_b' owner,b.* from user_b.table_a b
    union all
    select 'user_c' owner,c.* from user_c.table_a c
    union all
    select 'user_d' owner,d.* from user_d.table_a d前面加个owner以做区隔,希望你的四个用户下的表不要太大哈,
      

  2.   

    谢谢您的回复,如果有更多的用户怎么办呢?我不希望一个一个用户的UNION。
      

  3.   

    可以考虑用同义词(synonym)
    CREATE SYNONYM 同义词 FOR 用户名.对象名(如:表名,视图等);