oracle导出结果集为xml格式文件

一、从oracle到xml

 

1.  启动sqlplus执行>

(1)获取导出表的所有字段:

 替换语句中TABLE_NAME,OWNER为需要导出的表名及表的用户名,修改语句后在sqlplus中执行(执行用户需要有dba权限) 

1
2
3
4
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中执行此语句

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
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 


本文转自 天黑顺路 51CTO博客,原文链接:http://blog.51cto.com/mjal01/2050079,如需转载请自行联系原作者

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值