There is a request:
SQL> with a as (select '<a><b>1</b><b>2</b></a>' xml from dual) 2 select y.* from a, xmltable( '/a' 3 passing xmltype(a.xml) 4 columns 5 b xmltype path 'b') x, 6 xmltable('b' 7 passing xb 8 columns 9 c xmltype path '/')(+) y 10 ; C -------------------------------------------------------------------------------- <b>1</b> <b>2</b> returns two entries, as expected.
But if you insert xml into a temporary table and select data from it -
SQL> create table tmp_xml as select xmltype('<a><b>1</b><b>2</b></a>') xml from dual; Table created. SQL> select y.* from tmp_xml a, xmltable( '/a' 2 passing a.xml 3 columns 4 b xmltype path 'b') x, 5 xmltable('b' 6 passing xb 7 columns 8 c xmltype path '/')(+) y 9 ; C -------------------------------------------------------------------------------- output null. What is wrong with the request? Oracle Database 11g Enterprise Edition 11.2.0.3.0 - 64bit Production