ORA-01461 с оператором MERGE INTO и столбцом clob
Запрос:
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 должен быть обновлен, иначе будет вставлена новая строка.
1 ответ
Решение
Я думаю, что это оказывается решаемым с помощью функциональности настройки Spring JDBC LOB, описанной в 11.7.2 документации Spring Framework.
Тем не менее, это тоже не работает... но будет предметом другого вопроса.