oracle導出結果集爲xml格式文件

一、從oracle到xml

 

1.  啓動sqlplus執行>

(1)獲取導出表的所有字段:

 替換語句中TABLE_NAME,OWNER爲需要導出的表名及表的用戶名,修改語句後在sqlplus中執行(執行用戶需要有dba權限) 

SELECT replace(wm_concat(cols),',','||') FROM (
SELECT ''''|| '
  <'||COLUMN_NAME||'>'||''''||'||'||column_name||'||'||''''||'<'||column_name||'/>'||''''
AS cols FROM DBA_COL_COMMENTS WHERE TABLE_NAME ='DEPT'AND owner= 'SCOTT') ;


2.  新建腳本xml.sql文件,腳本內容如下:

將以下語句中<ROW>到||'<ROW>'之間的內容替換爲步驟1中的執行結果SCOTT.DEPT修改爲步驟1中的用戶名及表名,修改後在sqlplus中執行此語句

set colsep ,  
set feedback off  
set heading off  
set trimout on  
spool /home/oracle/dept.xml
  
SELECT '<?xml version="1.0" ?>
<ROWDATA>
'||replace(wm_concat(dept_info),',',' ')||'
</ROWDATA>'
   
FROM (
SELECT '
<ROW>
  <C0>'||ROWNUM||'</C0>'||'
  <DEPTNO>'||DEPTNO||'<DEPTNO/>'||'
  <DNAME>'||DNAME||'<DNAME/>'||'
  <LOC>'||LOC||'<LOC/>'
||'
</ROW>
' AS dept_info
FROM SCOTT.DEPT );
  
spool off  
exit

註釋:

spool /home/oracle/dept.xml  --指定導出xml文件路徑及文件名(可修改)

select語句指定導出表及字段

 

3.  導出結果爲xml格式(執行用戶需要擁有導出表的select權限)

sqlplus -s 用戶名/密碼@數據庫名 @/路徑/xml_auto.sql 


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章