当前位置:  数据库>oracle

ORA-22858: 数据类型的变更无效 varchar2类型转换为clob类型

    来源: 互联网  发布时间:2017-05-30

    本文导语: Oracle中,如果一个列的类型为varchar2,那么它不能直接转换为clob类型。可以通过间接的方式来修改。下面为实验: SQL>create table test(id int,name varchar2(10)); Tablecreated SQL>insert into test values(1,'a'); 1row inserted SQL>insert into test values(2,'b'); 1...

Oracle中,如果一个列的类型为varchar2,那么它不能直接转换为clob类型。可以通过间接的方式来修改。下面为实验:

SQL>create table test(id int,name varchar2(10));

Tablecreated

SQL>insert into test values(1,'a');

1row inserted

SQL>insert into test values(2,'b');

1row inserted

SQL>commit;

Commitcomplete

SQL>select * from test;

    ID  NAME

---------------------------------------

  1      a

  2      b

 SQL> desc test

NameType        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 test

Name  Type        Nullable Default Comments

----------------- -------- ------- --------

ID    INTEGER    Y                       

NAME  VARCHAR2(10) Y                       

NAME1CLOB        Y                       

 

SQL> commit;

Commit complete

SQL> alter table test dropcolumn name;

Table altered

SQL> alter table test renamecolumn name1 to name;

Table altered

SQL> select * from test;

                                    ID NAME

---------------------------------------------------------------------

                                      1 a

                                      2 b

SQL> desc test

NameType    Nullable Default Comments

----------- -------- ------- --------

ID  INTEGER Y                       

NAMECLOB    Y     

相关阅读:

GoldenGate不使用数据泵完成Oracle-Oracle的双向复制

使用GoldenGate的数据泵进行Oracle-Oracle的单向复制

如何对 Oracle 数据泵(expdp/impdp) 进行 debug

Oracle 数据库导出数据泵(EXPDP)文件存放的位置

Oracle 10g 数据泵分区表的导出


    
 
 

您可能感兴趣的文章:

 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 出现ORA-01401和ORA-01008错误?
  • Eclipse连接Oracle数据库的ORA-00604 ORA-12705错误
  • oracle ORA-01114、ORA-27067错误解决方法
  • Oracle不能删除表 ORA-00604 ORA-01422 错误
  • 如何得到带有ora的行的下一行
  • ORA-12514及ORA-28547错误解决方案
  • 如何配置 linux 下 oracle 的 listener .ora 和
  • 浅析如何在tnsnames.ora中配置监听
  • Orcle的package中访问其它Schema的表报错ORA-00942解决方法
  • oracle远程连接服务器出现 ORA-12170 TNS:连接超时 解决办法
  • [Oracle] 浅析令人抓狂的ORA-01555问题
  • 解决报错ora-32035的方法分析
  • aq.executeQuery: ORA-00020: maximum number of processes (59) exceeded
  • Oracle 数据库闪回功能设置出现ORA-19809和ORA-19804错误
  • ORA-00947:Not enough values (没有足够的值)的深入分析
  • solaris10 安装 ora9.2.0.1 时报错
  • 在UNIX下,我的ORA817该怎么样才可以自己启动呀?
  • 基于ORA-12170 TNS 连接超时解决办法详解
  • plsql连接oracle数据库报ora 12154错误解决方法
  • 安装oracle出现error:ora-01031:insufficient privilleges的解决


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,