博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
oracle导出结果集为xml格式文件
阅读量:5886 次
发布时间:2019-06-19

本文共 1161 字,大约阅读时间需要 3 分钟。

 

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,如需转载请自行联系原作者

你可能感兴趣的文章
sizeof(long)
查看>>
pxe网络启动和GHOST网克
查看>>
2.5-saltstack配置apache
查看>>
django数据库中的时间格式与页面渲染出来的时间格式不一致的处理
查看>>
增强myEclipse的提示功能
查看>>
[翻译]Protocol Buffer 基础: C++
查看>>
runloop与线程的关系
查看>>
[Bzoj2246]迷宫探险(概率+DP)
查看>>
详解消息队列的设计与使用
查看>>
使用Sqoop从mysql向hdfs或者hive导入数据时出现的一些错误
查看>>
控制子窗口的高度
查看>>
处理 Oracle SQL in 超过1000 的解决方案
查看>>
Alpha线性混合实现半透明效果
查看>>
chkconfig 系统服务管理
查看>>
ORACLE---Unit04: SQL(高级查询)
查看>>
贪食蛇
查看>>
201521123009 《Java程序设计》第11周学习总结
查看>>
Python3之多线程学习
查看>>
MVC和MTV结构分析
查看>>
(转)微信网页扫码登录的实现
查看>>