1. 启动sqlplus执行>
(1)获取导出表的所有字段:
替换语句中TABLE_NAME,OWNER为需要导出的表名及表的用户名,修改语句后在sqlplus中执行(执行用户需要有dba权限)
- SELECTreplace(wm_concat(cols),','||')FROM(
- SELECT''''||'<'||COLUMN_NAME||'>'||''''||'||'||column_name||'||'||''''||'<'||column_name||'/>'||''''
- AScolsFROMDBA_COL_COMMENTSWHERETABLE_NAME='DEPT'ANDowner='SCOTT');
将以下语句中<ROW>到||'<ROW>'之间的内容替换为步骤1中的执行结果,SCOTT.DEPT修改为步骤1中的用户名及表名,修改后在sqlplus中执行此语句
- setcolsep,setFeedbackoff
- setheadingoff
- settrimouton
- spool/home/oracle/dept.xml
- SELECT'<?xmlversion="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>'ASdept_info
- FROMSCOTT.DEPT);
- spooloff
- exit
注释:
spool /home/oracle/dept.xml --指定导出xml文件路径及文件名(可修改)
select语句指定导出表及字段
3. 导出结果为xml格式(执行用户需要拥有导出表的select权限)