当前位置: 首页 > 知识库问答 >
问题:

Oracle:从另一个大于4000个字符的表中更新CLOB

何升
2023-03-14

我怎么能那么做?

UPDATE 
    My_Table SET my_clob = (
        SELECT 
            other_clob
        FROM 
            other_table
        WHERE 
            my_table.id = other_table.id
    );

编辑:

哦,伙计们。我发现该列实际上是我正在测试的测试系统中的一个varchar(4000),这样做(在prod中,它应该是一个clob)。你会怀疑我是不是第一个真正使用测试系统的人...

共有1个答案

鲜于光辉
2023-03-14

据称,这在Oracle10.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;
/
 类似资料:
  • 我已经创建了一个多边形表(多边形),其中包含名称和点(使用多边形值) 我有另一个表(latlon ),它有lat和lot列,包含超过一百万条记录 我必须在“多边形”表中的点的帮助下更新纬度表中的列(区域名称) 以下 select 语句为一条记录提供正确的输出。 有人能帮我在POSTGIS中编写一个UPDATE查询来获取更多的lat,lon值吗?

  • 问题内容: 表格1: 表2: 在oracle SQL中,如何运行 sql更新 查询,该查询可以使用表2并使用表2来更新表1 ?所以我得到的最终结果是 表格1: 问题答案: 这称为相关更新 假设联接导致键保留视图,您还可以

  • 问题内容: 我有两个桌子, 这是我的第一张桌子, 这是我的第二张桌子 我需要一些如何使用第一个表中的数据更新第二个表中的所有行的信息。 它需要在一个更新查询中完成所有这些操作。 SUBST_ID和SERIAL_ID都匹配,它需要从第一个表中获取created_id并将其插入第二个表中。 因此,第二张表将变为以下内容, 感谢您的帮助和指导。 问题答案:

  • 首先为我的英语感到抱歉。 我试图插入大约15000行,问题是有一个CLOB类型的列可能有超过4000个字符,给出错误ORA-01704,我知道如何像这样一个接一个地插入:TO_CLOB(string)TO_CLOB(string)并且它工作,但是我有大约1000个这样的情况发生,我不想手动执行,你能想到什么方法来插入它们? 谢谢你。

  • 如何向CLOB类型列插入超过4000个字符? 导致错误: ORA-01704:字符串太长。 当我阅读Oracle参考时,可以最大节省4GB(千兆字节)?

  • 问题内容: 我有两个表,具有相同的架构- 我想将test2表中的值插入到test1中,但是如果具有相同主键的行已经存在,请对其进行更新。我知道在mysql中,您可以使用ON DUPLICATE KEY UPDATE做类似的事情- 但是我不知道如何使用另一个表中的SELECT来执行上述查询。我正在寻找的是表格查询- 该查询显然是无效的。如果有人可以从中提出有效的查询,我将不胜感激。 问题答案: 这应