大侠:
最近需要用数据库中数据字典"all_tab_columns"来查表的列信息,如:”select column_name,column_length from all_tab_columns where table='表名';
但发现了几个问题。
1 返回的信息中列的排列顺序与建表时列的排列顺序不一致,这样就导致无法运用all_tab_columns中查出来的列的顺序将数据插到表中。
2 返回的列的长度与建表时规定的列的长度不一致。
呵呵呵,有没有那位大侠能帮帮忙?在这谢谢了 ,我现在仅有20分,不知道够不够?
最近需要用数据库中数据字典"all_tab_columns"来查表的列信息,如:”select column_name,column_length from all_tab_columns where table='表名';
但发现了几个问题。
1 返回的信息中列的排列顺序与建表时列的排列顺序不一致,这样就导致无法运用all_tab_columns中查出来的列的顺序将数据插到表中。
2 返回的列的长度与建表时规定的列的长度不一致。
呵呵呵,有没有那位大侠能帮帮忙?在这谢谢了 ,我现在仅有20分,不知道够不够?
我的就是按顺序来的,也是一样的。
你也可以直接desc tablename来查看;
insert into tableName(field1,field2,...) values(field1Value,field2Value...);
第二个问题参考2楼的书法。
data_length
data_precision
data_scale
等
1,读入文件中的数据。
2,根据别的信息得到某个表名。
3,用all_tab_columns 检出该表名的列名和列的类型信息。
4,用读入的文件数据的各个字段信息依次与该表的列的类型校验,如果所有字段的类型与对应顺序列的属性都相配,则将读入的文件数据插入数据库中
现在,如果读入的文件数据的各个字段信息与建表的列排列顺序一致,但用all_tab_columns检出的列信息不是按建表排列的,可以插入的文件数据就变成非法的数据了.
呵呵呵呵,如果表的列名不多,检出来是一致的,但是表有很多列时,就不一致了。
select column_name
from all_tab_columns
where table_name='**'
Order by column_name
真是太谢谢大家了!