修改字段类型必须保证字段是空的,比较方便的做法是添加一个字段,把现有字段的内容移到新的字段中;或者建立一个新表(包括新的字段),然后把现有表的纪录移到新的表中后删除原表。另外不要用long类型,oracle在以后的版本中会取消对long类型的支持,改称clob比较好。

解决方案 »

  1.   

    1)如果是ORACLE 8i,可加一个字段body1 long ,值为body 的值,之后删除body字段。
    2)也可以试试建立一个中间表,将原来的body字段存起来,之后删除原来表中的body字段,进行字段类型修改;再将原来的字段倒回去。
    1.create table newsBodyBack as select rowid id,body from news;
    2.update news set body=NULL;
    3.ALTER TABLE news MODIFY body long NOT NULL;
    4.create or replace view newsOldNew(newsid,body,rid,body1)
    as select news.newsid,news.body,newsBodyBack.id,newsBody.body from news,newsBackBody where news.rowid=newsBodyBack.id;
    5.update newsOldNew set body=body1;
      

  2.   

    我也想用clob但是我不知道怎么用jsp把数据插入到clob字段中