alter table a modify(id char(16));

解决方案 »

  1.   

    如果表是空的话,可以直接用ALTER TABLE MODIFY ID CHAR(16)
    如果有数据的话,就不好办了,可以将数据截断后导到另外一个表中,将表清空后,修改完字段长度,在导回来。
      

  2.   

    alter table table_name
    modify(field_name varchar2(80))
      

  3.   

    对,如果有数据的话可麻烦死了,先类似创建,修改创建的那个表,然后用SQL语句把数据导过来,把以前那个没用的表删了,如果表名还要和以前一样的话,那再操作一次把表名改了!(方法很笨,没办法,不知道谁有更好的方法?)
      

  4.   

    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;
      

  5.   

    如果把某个字段改长的话,不管有没有数据都可以用bzszp(SongZip) 说的
    alter table a modify(id char(16));这样是可以的,我在oracle 8.1.5,win2000下测试过,没有问题啊。