【发布时间】:2019-03-08 11:17:00
【问题描述】:
我们有一个包含 blob 数据的表(未压缩,xml 格式的文本)。
我们不能将数据类型更改为 clob 或任何其他类型。
我想合并 2 行 blob 数据以创建一个新的单行。
因为它是 xml 简单的 concat 将不起作用,我需要将它们下载到 unix 然后修改它们然后再次插入到同一个表中。
blob 没有限制(可以大于 4000 个字符)。
我正在努力寻找将整个 blob 下载到文件中的解决方案。
【问题讨论】:
-
为什么要在操作系统上而不是在 Oracle 中进行合并?有一些方法可以将 BLOB 转换为 CLOB 并再次返回(至少如果您知道字符集),但是您有理由在数据库之外执行此操作吗?您所做的不仅仅是连接一个 XML [片段? doc?] 到另一个 - 例如添加一个新的根节点,还是将两个根节点合并为一个?
-
我无法更改列类型,因为它是核心产品表。在两个 XML 的“ADC”中都有一个名为“ABC”的标签,我希望它是 ADC
(1 和 2 是第一行和第二行的 xml) -
我不建议你更改列数据类型。我在谈论将数据从 BLOB 转换为 CLOB,将其作为文本/XML 进行操作,然后将结果转换回 BLOB 以将其存储回现有列中。哪个 kfinity 在答案中显示了如何做(为我节省了一些工作)。
标签: java oracle shell oracle11g