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

一个关于oracle数据库的问题,,着急!~!
最近在做一个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

------解决方案--------------------
好歹得告诉大家你是怎么取数的,大家才能告诉你问题是怎么来的。

select * from cols order by column_id 是否按照你预期的顺序出现列信息定义?
------解决方案--------------------

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


------解决方案--------------------
引用:
Quote: 引用:

好歹得告诉大家你是怎么取数的,大家才能告诉你问题是怎么来的。

select * from cols order by column_id 是否按照你预期的顺序出现列信息定义?


取数不是关键,关键是字段顺序,你可能没有理解我的意思
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;