日期:2014-05-17  浏览次数:20715 次

获取ORACLE表的所有字段问题
有两个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'

但得到的两个结果不一样,不知道是什么原因。。大家有遇到这种情况吗?有没有什么解决办法?

------解决方案--------------------
你是分别使用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';
------解决方案--------------------
探讨

字段是可以获取到了,一共58个字段都对,但是两查询得到结果的顺序不相同

------解决方案--------------------
结果顺序不对可能是由于两表结构修改过。

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';

如果没有结果,则说明两表结构相同。