create table aa as select field_name,id from table_name;update table_name set field_name=null;alter table table_name modify(field_name varchar2(80));update talb_name set field_name (select field_name from aa table_name.id=aa.id);drop table aa;
如果把某个字段改长的话,不管有没有数据都可以用bzszp(SongZip) 说的 alter table a modify(id char(16));这样是可以的,我在oracle 8.1.5,win2000下测试过,没有问题啊。
如果有数据的话,就不好办了,可以将数据截断后导到另外一个表中,将表清空后,修改完字段长度,在导回来。
modify(field_name varchar2(80))
alter table a modify(id char(16));这样是可以的,我在oracle 8.1.5,win2000下测试过,没有问题啊。