请教怎样将表字段横向列出来,并找出差异?
如下面有个表synd_stmt,表结构如下 
 --   Create   table 
 create   table   SYND_STMT 
 ( 
       TABLE_ID                     NUMBER(4)   not   null, 
       OPERATION_TYPE   VARCHAR2(1)   not   null, 
       SEQ                                    NUMBER(4)   not   null, 
       STMT                                 VARCHAR2(2048)   not   null, 
       NAME                                 VARCHAR2(50), 
       SYND_DESC                  VARCHAR2(100), 
       OUT_ID                           NUMBER(4) 
 ) 
 tablespace   idx_base 
       pctfree   10 
       initrans   1 
       maxtrans   255 
       storage 
       ( 
             initial   64 
             minextents   1 
             maxextents   unlimited 
       ); 
 请问用什么办法可以将表字段横向列出来; 
 结果如下: 
       TABLE_ID,OPERATION_TYPE,SEQ,STMT,NAME,SYND_DESC,OUT_ID   
 做这个的主要目的是我想比较两个系统中两个表字段的差异,因为现在环境中两个表结构不一致或者字段名称不一样;具体统计出来方便一些;大概几百个表吧!   
 不知大家有没有遇到过这种情况,如果有脚本的话,能不能共享一下; 
------解决方案--------------------只是想看两个表字段一样不一样吗? 
 select column_name from all_tab_columns where table_name= 'A1 '  
 minus  
 select column_name from all_tab_columns where table_name= 'A2 '; 
 比较A1和A2表,如果能选出值,A1和A2表结构就不一样.
------解决方案----------------------函数 
 create or replace function sum_string(v_sql varchar2) 
 return varchar2 
 as 
 type cur_alldata is ref cursor; 
 l_alldata cur_alldata; 
 v_row varchar2(99); 
 v_sum varchar2(3999); 
 begin 
 open l_alldata for v_sql; 
 loop 
 fetch l_alldata into v_row; 
 exit when l_alldata%notfound; 
 v_sum := v_sum|| ', '||v_row; 
 end loop; 
 v_sum := substr(v_sum,2); 
 close l_alldata; 
 return v_sum; 
 end; 
 --执行查询 
 select  
 sum_string( 'select column_name from user_tab_columns where table_name= ' 'SYND_STMT ' ' ')  
 from dual;   
 --查询结果 
 TABLE_ID,OPERATION_TYPE,SEQ,STMT,NAME,SYND_DESC,OUT_ID 
------解决方案--------------------比较字段差别并不需要把字段横向列出来,直接用关联或minus进行比较即可
------解决方案--------------------只要查询一下USER_TAB_COLUMNS即可
------解决方案--------------------楼主的意思是,都列出来的话,哪些一样哪些不一样就很清楚能看见了~ 
 不知道理解的对不?
------解决方案--------------------创建一个函数: 
 create or replace function uf_GetTabCols 
 ( 
    TableName_            varchar2 
 ) 
 return varchar2 
 is 
    Count_                integer; 
    Col_                  User_Tab_Cols.Column_Name%type; 
    Cols_                 varchar2(4000) :=  ' '; 
 begin   
    --校验表名是否有效,如果无效,返回空串 
    select count(1) into Count_ from User_All_Tables where Table_Name = upper(TableName_);   
    if Count_ = 0 then 
       return( ' '); 
    end if;   
    --返回列的组合串 
    declare cursor cur is 
       select Column_Name from User_Tab_Cols where Table_Name = upper(TableName_)