원문은 아래 주소에 나온 내용인데 글 작성년도가 2012년도라 이곳에다가 다시 문의드립니다
http://nilriri.blogspot.kr/2012/11/blog-post.html
내용은 xml내용을 파싱하여 테이블상에 row단위로 조회시키는 방법에 관한 설명인데
아래 구문중 'xml소스문자열' 은 어떻게 xml소스 문자열을 지정하는건지를 모르겠습니다
WITH tb AS ( SELECT EXTRACTVALUE ( VALUE ( p ), '/man/@resid' ) man_resid , EXTRACTVALUE ( VALUE ( p ), '/man/@name' ) man_name , EXTRACT ( VALUE ( p ), '/man/data' ) man_data FROM TABLE ( XMLSEQUENCE ( EXTRACT ( xmltype ( xml소스문자열 ), '/yesone/form[@form_cd="L101Y"]/man' ) ) ) p ) SELECT tb.man_resid , tb.man_name , EXTRACTVALUE ( td.COLUMN_VALUE, '/data/@busnid' ) busnid , EXTRACTVALUE ( td.COLUMN_VALUE, '/data/@trade_nm' ) trade_nm , EXTRACTVALUE ( td.COLUMN_VALUE, '/data/@donation_cd' ) donation_cd , EXTRACTVALUE ( td.COLUMN_VALUE, '/data/sum' ) SUM FROM tb CROSS JOIN TABLE ( XMLSEQUENCE ( EXTRACT ( tb.man_data, '/data' ) ) ) td
원하시는 xml 문자열을 그냥 "xml소스문자열" 부분에 치환하시면 됩니다.
extract ( xmltype( ' <?xml... > ... <yesone> ... <form form_cd=...> ... </form> </yesone>') , '/yesone/form[@form_cd="L101Y"]/man' )