Welcome 微信登录

首页 / 数据库 / MySQL / ORA-22858: 数据类型的变更无效 varchar2类型转换为clob类型

Oracle中,如果一个列的类型为varchar2,那么它不能直接转换为clob类型。可以通过间接的方式来修改。下面为实验:SQL>create table test(id int,name varchar2(10));TablecreatedSQL>insert into test values(1,"a");1row insertedSQL>insert into test values(2,"b");1row insertedSQL>commit;CommitcompleteSQL>select * from test;    ID NAME---------------------------------------  1      a  2      b SQL> desc testNameType       Nullable Default Comments---------------- -------- ------- --------ID INTEGER   Y                        NAMEVARCHAR2(10) Y                         SQL> alter table test modify(name clob); altertable test modify (name clob) ORA-22858: 数据类型的变更无效 如果直接转换,报错! 
我们可以通过间接的方式来操作:新建一个clob类型的列,将原列的值插入新建的列,然后删除原列,重命名新列。 SQL> alter table test add name1clob; Table altered SQL> update test setname1=name; 2rows updated SQL> select * from test;                                    IDNAME     NAME1----------------------------------------------------------------------------------                                      1 a          a                                      2 b          b SQL> desc testName  Type        Nullable Default Comments----------------- -------- ------- --------ID    INTEGER   Y                        NAME  VARCHAR2(10) Y                        NAME1CLOB       Y                         SQL> commit;Commit completeSQL> alter table test dropcolumn name;Table alteredSQL> alter table test renamecolumn name1 to name;Table alteredSQL> select * from test;                                   ID NAME---------------------------------------------------------------------                                      1 a                                      2 bSQL> desc testNameType    Nullable Default Comments----------- -------- ------- --------ID INTEGER Y                        NAMECLOB    Y     相关阅读:GoldenGate不使用数据泵完成Oracle-Oracle的双向复制 http://www.linuxidc.com/Linux/2013-10/92020.htm使用GoldenGate的数据泵进行Oracle-Oracle的单向复制 http://www.linuxidc.com/Linux/2013-10/92019.htm如何对 Oracle 数据泵(expdp/impdp) 进行 debug http://www.linuxidc.com/Linux/2013-06/85232.htmOracle 数据库导出数据泵(EXPDP)文件存放的位置 http://www.linuxidc.com/Linux/2013-05/83774.htmOracle 10g 数据泵分区表的导出 http://www.linuxidc.com/Linux/2012-07/66620.htm更多Oracle相关信息见Oracle 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=12ORA-12988: cannot drop column from table owned by SYSORA-00600 内部错误代码, 参数 [kdsgrp1]相关资讯      ORA-22858  本文评论 查看全部评论 (0)
表情: 姓名: 字数