Rumah > pangkalan data > tutorial mysql > ORA-22858: 数据类型的变更无效 varchar2类型转换为clob类型

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

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
Lepaskan: 2016-06-07 17:34:11
asal
2143 orang telah melayarinya

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

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 数据泵分区表的导出

linux

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan