【问题标题】:ORA-01461 with MERGE INTO statement and clob columnORA-01461 带有 MERGE INTO 语句和 clob 列
【发布时间】:2012-08-13 19:08:55
【问题描述】:

查询:

MERGE INTO app_role_data x USING (select ? name, ? xml FROM dual) d ON (x.app_name = d.name) WHEN MATCHED THEN UPDATE SET x.xml_blob = d.xml WHEN NOT MATCHED THEN INSERT(app_name, xml_blob) VALUES(d.name, d.xml)

桌子:

create table app_role_data(app_name varchar2(64), xml_blob clob);

结果:当一行存在时,我们得到 ORA-01461。

期望的目标:这是对该表中一行的有效“创建或替换”操作。如果表中存在“名称”,则应更新 xml 列,否则插入新行。

【问题讨论】:

  • 嗯。事实证明,当行 也存在时会发生这种情况。它曾经工作过。不知道为什么突然就不行了。也许这是一个长度问题 - xml 数据已经神奇地超过了某个限制?

标签: oracle jdbc clob ora-01461


【解决方案1】:

我认为这可以通过使用 Spring 框架文档 11.7.2 中记录的 Spring JDBC LOB 设置功能来解决。

但是,这也不起作用......但将成为另一个问题的主题。

【讨论】:

猜你喜欢
  • 2014-04-14
  • 1970-01-01
  • 2011-07-10
  • 2016-11-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-09-20
相关资源
最近更新 更多