0
我必须将数据库迁移到另一个数据库。我有一个dblink使它更容易。 知道我尝试从表中复制colum评论和说明。问题是这个类型是一个CLOB。在新数据库中,我使用VARCHAR2。 我使用了一种解决方法并创建了一个全局临时表。Oracle CLOB到varchar2 over DBLINK
create global temporary table Comments
(id number,description clob, comment clob) ON COMMIT PRESERVE ROWS; -
insert into Comments Select id,description,comment from [email protected];
现在我有表52K行。
现在我想在新的数据库中创建新的表测试。
CREATE TABLE "TEST"
(
"ID" NUMBER(9,0) NOT NULL ENABLE,
"NAME" VARCHAR2(255) ,
"DESCRIPTION" VARCHAR2(4000) ,
"COMMENT" VARCHAR2(4000) ,
CONSTRAINT "TEST_PK" PRIMARY KEY ("ID")
);
,现在我尝试插入值:
insert into TEST(ID, NAME,DESCRIPTION, COMMENT)
select Test_seq.nextval,Name,
(select dbms_lob.substr(DESCRIPTION, 4000, 1) from Comments b where b.id =a.id),
(select dbms_lob.substr(COMMENT, 4000, 1) from Comments b where b.id =a.id),
from [email protected] a;
的问题是,它需要很长tooooooooooooo插入值。我开始了,30分钟后没有完成。
是否有一种快速的方法来获取varchar2中的convert clobs并将它们插入到其他Oracle数据库中的表中?
感谢您的帮助!
谢谢,现在它工作的很棒! –