這里我們將簡單談一談如何將Oracle導(dǎo)出到XML文件中,包括存放和調(diào)用的過程。XML的應(yīng)用十分廣泛,基于XML的數(shù)據(jù)處理也是開發(fā)的熱點。
以下操作在Oracle9i、10g版本成功
步驟一:創(chuàng)建存放XML文件的目錄對象
SQL>createorreplacedirectoryexp_diras'/opt';/ |
--注意此目錄要有oracle用戶的寫權(quán)限
步驟二:創(chuàng)建過程生成xml文件的主過程
SQL>createorreplaceproceduretable2xml(result inoutnocopyclob, filenameinvarchar2)is xmlstr varchar2(32767); line varchar2(2000); fhandle utl_file.file_type; begin fhandle := utl_file.fopen('EXP_DIR', filename,'w'); xmlstr := dbms_lob.substr(result,32767); loop exitwhenxmlstrisnull; line := substr(xmlstr,1, instr(xmlstr, chr(10)) -1); dbms_output.put_line('| '|| line); utl_file.put_line(fhandle, line); xmlstr := substr(xmlstr, instr(xmlstr, chr(10)) +1); endloop; utl_file.fclose(fhandle); end; / |
步驟三:調(diào)用此過程
declare queryctx dbms_xmlquery.ctxType; result clob; begin queryctx := dbms_xmlquery.newContext('select user_id,user_name from lq_xml_test'); --存放查詢記錄集的SQL result := dbms_xmlquery.getXML(queryctx); table2xml(result,'table2xml.xml'); dbms_xmlquery.closeContext(queryctx); end; / |
【編輯推薦】
- 詳解Oracle的幾種分頁查詢語句
- 實戰(zhàn)Oracle數(shù)據(jù)庫備份與恢復(fù)
- Oracle DBA職責(zé)及日常工作分析