我该怎么做?
UPDATE
My_Table SET my_clob = (
SELECT
other_clob
FROM
other_table
WHERE
my_table.id = other_table.id
);
错误:
ORA-22835:缓冲区太小,无法进行CLOB到CHAR或BLOB到RAW的转换
编辑:
噢,小伙子,吵闹的伙计们。我发现实际上这个列实际上是一个varchar(4000),我正在测试这个测试系统(在prod它应该是一个clob)。有点让你想知道我是否是第一个真正使用测试系统的人......答案 0 :(得分:0)
据称这是fixed in oracle 10.2。它肯定适用于oracle 11g R2
如果无法升级,请尝试使用一些PL / SQL:
begin
for rec in (select id, other_clob from other_table) loop
update my_table set my_clob = rec.other_clob where id = rec.id;
end loop;
end;
/