आप SQL के माध्यम से सर्वर पर XML फ़ाइलों तक पहुँच सकते हैं। /tmp/tmp.xml में अपने डेटा के साथ, आप सबसे पहले निर्देशिका की घोषणा करेंगे:
SQL> create directory d as '/tmp';
Directory created
फिर आप अपनी XML फ़ाइल को सीधे क्वेरी कर सकते हैं:
SQL> SELECT XMLTYPE(bfilename('D', 'tmp.xml'), nls_charset_id('UTF8')) xml_data
2 FROM dual;
XML_DATA
--------------------------------------------------------------------------------
<?xml version="1.0" encoding="UTF-8"?>
<badges>
[...]
अपनी फ़ाइल में फ़ील्ड तक पहुँचने के लिए, आप उदाहरण के लिए किसी अन्य SO में वर्णित विधि का उपयोग कर सकते हैं:
SQL> SELECT UserId, Name, to_timestamp(dt, 'YYYY-MM-DD"T"HH24:MI:SS.FF3') dt
2 FROM (SELECT XMLTYPE(bfilename('D', 'tmp.xml'),
nls_charset_id('UTF8')) xml_data
3 FROM dual),
4 XMLTable('for $i in /badges/row
5 return $i'
6 passing xml_data
7 columns UserId NUMBER path '@UserId',
8 Name VARCHAR2(50) path '@Name',
9 dt VARCHAR2(25) path '@Date');
USERID NAME DT
---------- ---------- ---------------------------
3718 Teacher 2008-09-15 08:55:03.923
994 Teacher 2008-09-15 08:55:03.957