在Oracle 9i 10g中以下两条语句都没有问题,数据库均为空表ALTER TABLE tapp_cms MODIFY (content clob)
ALTER TABLE tapp_cms MODIFY (TOPIC_IMAGE  NVARCHAR2(100))但是在Oralce 11g 中第一条SQL语句出现如下错误:ORA-22859: 无效的列修改第二条SQL语句没有问题查了许多内容都没有找到答案。所以请教各位。由于业务上的要求通过程序实现,如果手动删除,再新增的话,失去意义。数据库结构如下:create table TAPP_CMS
(
  ID                    NVARCHAR2(50) not null,
  TITLE                 NVARCHAR2(50),
  SHORT_TITLE           NVARCHAR2(50),
  FROM_SOURCE           NVARCHAR2(50),
  REF_WORDS             NVARCHAR2(100),
  SUMMARY               NVARCHAR2(400),
  KEY_WORDS             NVARCHAR2(1000),
  SSSTYPE               NUMBER(10),
  SSSURL                NVARCHAR2(500),
  IMPORTER_ID           NVARCHAR2(50),
  IMPORTER_NAME         NVARCHAR2(50),
  INPUT_TIME            NVARCHAR2(50),
  IMPORTER_IP           NVARCHAR2(50),
  IMPORTER_DEPT_ID      NVARCHAR2(50),
  IMPORTER_DEPT_NAME    NVARCHAR2(50),
  VIRIFIED_TIME         NVARCHAR2(50),
  VIRIFIED              NVARCHAR2(50),
  STATUS                NVARCHAR2(50),
  AUTHOR                NVARCHAR2(50),
  TOPIC_IMAGE           NVARCHAR2(100),
  PAGING_MODE           NUMBER(10),
  PAGING_CHARACTERS_NUM NUMBER(10),
  PUBLISH_FILE_FOLDER   NVARCHAR2(100),
  IS_PICTURE_NEWS       NVARCHAR2(50),
  CONTENT               CLOB
)

解决方案 »

  1.   


    ORA-22859: invalid modification of columns
          *Cause: An attempt was made to modify an object, REF, VARRAY, nested
          table, or LOB column type.
          *Action: Create a new column of the desired type and copy the current
          column data to the new type using the appropriate type
          constructor.
      

  2.   

    alter table t drop column content ;   --先删除
    alter table t add(content  clob); --再增加
      

  3.   

    现在的问题是,我的数据类型没有变化。表结构中的CONTENT CLOB执行这句话,应该不算结构变化ALTER TABLE tapp_cms MODIFY (content clob)