一、从oracle到xml
1.启动sqlplus执行>
(1)获取导出表的所有字段:
替换语句中TABLE_NAME,OWNER为需要导出的表名及表的用户名,修改语句后在sqlplus中执行(执行用户需要有dba权限)SELECT replace(wm_concat(cols),',','||') FROM (
SELECT ''''|| ''||''''||'||'||column_name||'||'||''''||''||''''
AS cols FROM DBA_COL_COMMENTS WHERE TABLE_NAME ='DEPT'AND owner= 'SCOTT') ;
2.新建脚本xml.sql文件,脚本内容如下:
将以下语句中到||''之间的内容替换为步骤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" ?>
'||replace(wm_concat(dept_info),',',' ')||'
'
FROM (
SELECT '
'||ROWNUM||''|| ''||DEPTNO||''||''||DNAME||''||''||LOC||''
||'' AS dept_info
FROM SCOTT.DEPT );
spool off
exit
注释:
spool /home/oracle/dept.xml --指定导出xml文件路径及文件名(可修改)
select语句指定导出表及字段
3.导出结果为xml格式(执行用户需要拥有导出表的select权限)
sqlplus -s[email protected] @/路径/xml_auto.sql
原文:http://blog.51cto.com/mjal01/2050079