以下代码在oracle 11g中起作用,但是oracle 12c版本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;
/
此问题已在补丁26281022中修复,这是由于错误25437089和25967544引起的。更多详细信息,请参见此链接