数据库查列名问题?

Benagan 2008-11-09 06:56:08
大侠:
最近需要用数据库中数据字典"all_tab_columns"来查表的列信息,如:”select column_name,column_length from all_tab_columns where table='表名';
但发现了几个问题。
1 返回的信息中列的排列顺序与建表时列的排列顺序不一致,这样就导致无法运用all_tab_columns中查出来的列的顺序将数据插到表中。
2 返回的列的长度与建表时规定的列的长度不一致。
呵呵呵,有没有那位大侠能帮帮忙?在这谢谢了 ,我现在仅有20分,不知道够不够?
...全文
143 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
Benagan 2008-11-11
  • 打赏
  • 举报
回复
我试了一下,用Order by column_id 就好使了!
select column_name
from all_tab_columns
where table_name='**'
Order by column_name
真是太谢谢大家了!
Benagan 2008-11-10
  • 打赏
  • 举报
回复
要求是将文件中的数据插入某个表中,但是表名不确定,得校验文件中各个字段数据类型与表中的列的类型是否相同,相同才可以插入。顺序是这样的!
1,读入文件中的数据。
2,根据别的信息得到某个表名。
3,用all_tab_columns 检出该表名的列名和列的类型信息。
4,用读入的文件数据的各个字段信息依次与该表的列的类型校验,如果所有字段的类型与对应顺序列的属性都相配,则将读入的文件数据插入数据库中
现在,如果读入的文件数据的各个字段信息与建表的列排列顺序一致,但用all_tab_columns检出的列信息不是按建表排列的,可以插入的文件数据就变成非法的数据了.
呵呵呵呵,如果表的列名不多,检出来是一致的,但是表有很多列时,就不一致了。
ruihuahan 2008-11-10
  • 打赏
  • 举报
回复
表中的记录本来就是无序的,
codearts 2008-11-10
  • 打赏
  • 举报
回复
字段类型要看几个字段的:

data_type
data_length
data_precision
data_scale

codearts 2008-11-10
  • 打赏
  • 举报
回复
> 1 返回的信息中列的排列顺序与建表时列的排列顺序不一致,这样就导致无法运用all_tab_columns中查出来的列的顺序将数据插到表中。

10g里,我看到dba_tab_columns 里有个column_id字段, 按这个字段排序即可
chentony 2008-11-10
  • 打赏
  • 举报
回复
個人覺得順序對編程好像沒有影響 
panyu1979 2008-11-10
  • 打赏
  • 举报
回复
学习
dahai99007 2008-11-09
  • 打赏
  • 举报
回复
[Quote=引用楼主 Benagan 的帖子:]
大侠:
最近需要用数据库中数据字典"all_tab_columns"来查表的列信息,如:”select column_name,column_length from all_tab_columns where table='表名';
但发现了几个问题。
1 返回的信息中列的排列顺序与建表时列的排列顺序不一致,这样就导致无法运用all_tab_columns中查出来的列的顺序将数据插到表中。
2 返回的列的长度与建表时规定的列的长度不一致。
呵呵呵,有没有那位大侠能帮帮忙?在这谢谢了…
[/Quote]
返回信息与你建表的排列顺序不一致不影响你将数据插到表中啊!
insert into tableName(field1,field2,...) values(field1Value,field2Value...);
第二个问题参考2楼的书法。
icss_zhen 2008-11-09
  • 打赏
  • 举报
回复
我测的时候字段顺序是一样的,但如果字段类型为number的话,则查出来长度都为0,varchar2字段长度是一致的。如果是number类型的列,则看all_tab_columns表中data_precision与data_scale这二列的值
范佩西_11 2008-11-09
  • 打赏
  • 举报
回复
select column_name,t.CHAR_LENGTH from all_tab_columns t where table_name='xx'

我的就是按顺序来的,也是一样的。
你也可以直接desc tablename来查看;

17,090

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧