Ниже код работает в oracle 11g, но oracle 12 c выпуск 1 дает ошибку ora-00600. Как я могу сделать это независимым от версии базы данных?
DECLARE
lxml xmltype;
l_tag varchar2(30);
begin
lxml :=
xmltype('<responseObject>
<error>That is not a valid request</error>
<errorCode>A11</errorCode>
<value>A</value>
</responseObject>
');
l_tag := 'responseObject/*';
FOR test IN (
select tag,
VALUE
FROM xmltable(l_tag
passing lxml
columns
tag VARCHAR2(128) path 'name()',
VALUE VARCHAR2(128) path '.'
) t
)
LOOP
dbms_output.put_line(test.tag || ' - ' || test.value);
END LOOP;
end;
/