我在现有数据库中,有1000个用户 需要查询他们下面的相同表名。求助一个存储过程或一个快速的方法。

解决方案 »

  1.   

    首先你这个问题一般是DBA做的,因为你要有查这1000个用户的权限。
    sql类似如下:
    select 
    table_name,count(user)  
    from DBA_TABLES 
    group by table_name 
    having count(user)>=1000
    这样首先能找出所有用户下表相同的表名称,缩小范围
      

  2.   

    用DBA用户执行
    SELECT TABLE_NAME,COUNT(1) FROM ALL_TABLES GROUP BY TABLE_NAME HAVING COUNT(1) > 999
      

  3.   

    不知道我理解的对不对
     select * from(
     select t.table_name ,'相同表的名称' if_same_name from all_tables t group by t.table_name having count(1)>1
     union 
     select t.table_name ,'不相同表的名称' if_same_name from all_tables t group by t.table_name having count(1)=1) s1
     where s1.if_same_name='相同表的名称'
     ;