Мне нужно добавить узел с двумя атрибутами, если узел не существует, и обновить значения атрибутов, если узел уже существует.
Сначала, скажем, CONFIG_XML:
<info><a/><b><d required="false" show="false"/></b></info>
Я хочуустановить атрибут показа в true.как это:
<info><a/><b><d required="false" show="true"/></b></info>
И затем, если CONFIG_XML:
<info><a/><b></b></info>
Опять я хочу, чтобы это было:
<info><a/><b><d required="false" show="true"/></b></info>
Для первого яЯ использую эту команду, и она отлично работает:
UPDATE MY_TABLE_NAME
SET CONFIG_XML =
UPDATEXML(XMLTYPE(CONFIG_XML),
'info/b/d/@show', 'true',
'info/b/dd/@required', 'false').getClobVal()
Для второго я пытаюсь использовать INSERTCHILDXML как-то:
UPDATE MY_TABLE_NAME
SET CONFIG_XML =
INSERTCHILDXML(CONFIG_XML,
'info/b', 'd',
XMLType('<d></d>')).getClobVal()
И яполучил эту ошибку:
Error report -
SQL Error: ORA-00932: inconsistent datatypes: expected - got CLOB
00932. 00000 - "inconsistent datatypes: expected %s got %s"
Судя по результатам поиска, эта ошибка может иметь разные причины, но в этом случае я понятия не имею, что это может быть.