最近在做一个oracle数据库转换的任务,需要动态生成sql语句,
问题,oracle查出,来的表格字段属性顺序跟查数据的字段顺序不同,为什么
例如:表A查出字段属性为,
1.a_id NUMBER 16;              |
2.a_name varchar2 32;          |
3 a_data varchar2 32;          |查数据
         a_name,a_id,a_data  // 这个顺序跟查出的字段顺序不同...希望帮帮我
1.     test ,  23,  test
比较着急,求解释Oracle

解决方案 »

  1.   

    好歹得告诉大家你是怎么取数的,大家才能告诉你问题是怎么来的。select * from cols order by column_id 是否按照你预期的顺序出现列信息定义?
      

  2.   


    取数不是关键,关键是字段顺序,你可能没有理解我的意思
    1.a_id NUMBER 16;              |
     2.a_name varchar2 32;          |
     3 a_data varchar2 32;          |
    顺序是:a_id,a_name,a_data而取数字段顺序是:a_name,a_id,a_data  
    不知您明白没
      

  3.   


    //这样??!!
    select a_id,a_name,a_data from A
      

  4.   


    取数不是关键,关键是字段顺序,你可能没有理解我的意思
    1.a_id NUMBER 16;              |
     2.a_name varchar2 32;          |
     3 a_data varchar2 32;          |
    顺序是:a_id,a_name,a_data而取数字段顺序是:a_name,a_id,a_data  
    不知您明白没你的问题顶多是Oracle表列定义顺序和列存储顺序不一致的问题。出现这个问题的来源是你取这些数SQL之间存在差异。因此,你不提供这些数据的来源,说白了是你用的SQL,相信不会有哪位大仙可以找到原因的。明白?
    ------------------------
    1.a_id NUMBER 16;              |
     2.a_name varchar2 32;          |
     3 a_data varchar2 32;          |
    顺序是:a_id,a_name,a_data
    --------------------------
    而取数字段顺序是:a_name,a_id,a_data
      

  5.   


    表A查出字段属性--这个是怎么查的?能否说明一下,是用SQL语句还是用工具,说明一下你的操作查数据--这个又是怎么查的?最好说明一下
      

  6.   

    每个table的字段都有一个column id,查询出来后是根据这个column id依次显示
      

  7.   

     不一样有影响么?莫非你代码连表字段顺序这个问题都不考虑?那要是出现alter table add col不是死了?