有两个ORACLE数据库,A跟B,分别有一张表A1和B1,两张表字段都一样。我用
select column_name from user_tab_columns where  table_name='A1'
select column_name from user_tab_columns where  table_name='B1'但得到的两个结果不一样,不知道是什么原因。。大家有遇到这种情况吗?有没有什么解决办法?

解决方案 »

  1.   

    你是分别使用A、B用户登录查询对应的A1、B1的吗?如果不想切换用户,可以使用具有select on dba_tab_columns权限的用户,执行:
    select column_name from dba_tab_columns where owner='A' and table_name='A1';
    select column_name from dba_tab_columns where owner='B' and table_name='B1';
      

  2.   

    select column_name from user_tab_columns where table_name='A1' order by  column_name;再比对
    select column_name from user_tab_columns where table_name='B1' order by  column_name;再比对
      

  3.   

    结果顺序不对可能是由于两表结构修改过。select column_name from dba_tab_columns where owner='A' and table_name='A1'
    minus
    select column_name from dba_tab_columns where owner='B' and table_name='B1';如果没有结果,则说明两表结构相同。
      

  4.   

    你只选择了列名,如果minus有结果,说明两表列名不完全一样。再仔细检查检查列名。语句结果不会蒙你的。
      

  5.   

    问题还没有解决两张表都用同一个SQL语句建的,应该不会不相同。唉,先结贴吧。再想想