`
qingyujingyu427
  • 浏览: 27746 次
社区版块
存档分类
最新评论

oracle用plsql将sql查询的所有数据导出为xml

阅读更多

第一步需要先建一个oracle directory。

create directory TEMP_DIR as '/home/oracle/temp';

declare
  xml_str            clob;
  xml_file           Utl_File.file_type;
  offset             NUMBER              := 1;
  buffer             varchar2(4000);
  buffer_size        number              := 2000;
begin
  xml_file := Utl_File.fopen('TEMP_DIR','l360_lookup_values.xml','W');
  xml_str := DBMS_XMLGEN.getXML('select * from fnd_lookup_values where lookup_type like ''L360%''');
  while(offset < dbms_lob.getlength(xml_str))
  loop
     buffer := dbms_lob.substr(xml_str,buffer_size,offset);
     utl_file.put(xml_file,buffer);
     utl_file.fflush(xml_file);
     offset := offset + buffer_size;
  end loop;
  utl_file.fclose(xml_file);
  dbms_lob.freetemporary(xml_str);
end;

大概代码是这样的,可以封装为一个procedure。DBMS_XMLGEN这个包可以将一个sql查询的结果转化为xml格式的数据。

由于没有api可以直接将clob写到文件系统里,所有需要先将clob逐次读到一个buffer里,然后通过utl_file将数据写到文件系统。

需要注意的是buffer_size不能跟buffer的长度一样大,因为如果有中文这种双字节的字符的时候,就会出现buffer大小不够的错误。还有需要调用utl_file.fflush。因为如果utl_file.put调用使缓冲区的字符达到了32767以后,就会报缓冲区不够大的错误。dbms_lob.freetemporary这个存储过程是否一定要调用,暂时还不是很清楚,不知道oracle会不会自动垃圾回收。最好还是调用一下吧,作用是释放clob占用的资源。

分享到:
评论

相关推荐

    plsql导出数据到excel的三种方法

    1. **导出XML**:使用PL/SQL Developer将数据导出为XML格式,XML文件同样支持大量数据。 2. **导入Excel**:利用Excel的【数据】-&gt;【导入外部数据源】功能将XML文件导入Excel中。需要注意的是,某些办公软件如WPS在...

    Oracle相关SQL葵花宝典

    本书全面涵盖了从基础到高级的Oracle SQL知识,旨在帮助读者熟练掌握在Oracle环境中进行数据查询、操作、分析以及程序开发的各种技巧。 在Oracle数据库系统中,SQL(Structured Query Language)是用于管理关系...

    Oracle P/L SQL生成XML格式的Excel内容

    在实际应用中,你可能会先创建一个SQL查询来获取需要导出的数据,然后使用PL/SQL将查询结果转化为XML格式。这个过程可能包括遍历查询结果集,为每一行创建XML元素,以及设置单元格的样式和格式。"UTL_Excel.plb"包...

    plsql工具 oracle实用工具

    它集成了多种功能,包括编写PL/SQL代码、数据查询、对象浏览、数据库调试、报表生成以及数据导入导出等。下面将详细介绍这个工具在Oracle数据库管理中的各项实用功能。 1. **PL/SQL编辑器**:PLSQL Developer提供了...

    Oracle表数据和xml文件间相互导入导出的PL.docx

    在Oracle数据库环境中,将XML文件的数据导入到表中或从表中导出为XML文件是常见的数据交换操作。本文将详细介绍如何使用PL/SQL来实现这个过程。 首先,我们需要了解XML文件的结构。例如,给出的XML文件包含了若干个...

    plsql免安装.rar

    这些文件将帮助用户启动和使用PLSQL Developer,进行SQL查询、存储过程的开发、调试、数据导入导出等一系列数据库管理工作。 使用PLSQL Developer和Oracle Instant Client,开发者可以: 1. **编写PL/SQL代码**:...

    oracle数据库连接工具PLSQL

    2. **SQL开发**:编写和执行SQL查询,支持复杂的多表查询、子查询和联接操作,提供查询结果集的查看和导出功能。 3. **PL/SQL编程**:编辑、调试和运行PL/SQL代码,包括程序单元的编译、调试、测试和优化。 4. **...

    DBAtools for PL/SQL表空间管理器

    PL/SQL Developer是Oracle数据库当前最流行的开发工具之一,它在ORACLE数据库开发设计方面功能强大,使用方便,但是数据库管理方面一直比较欠缺。 DBATools For PL/SQL Developer 是一款PL/SQL Developer的辅助插件...

    PLSQL到处用户对象和表

    ### PL/SQL导出用户对象和表 #### 1. 概述 在日常的数据库管理工作中,我们经常需要对Oracle数据库中的数据进行备份或迁移。其中,导出用户对象和表是常见的需求之一。本篇文章将详细介绍如何使用PL/SQL进行用户...

    oracle数据库连接工具

    5. **数据传输**:用户可以轻松地在不同的数据库之间迁移数据,或者将数据导出为多种格式,如CSV、Excel、XML等。 6. **数据备份**:自动或手动设置数据库备份计划,确保数据安全,防止意外丢失。 7. **图表和报告...

    PLSQL配置文件(关键字变色)

    5. **导入导出设置**:如果你找到了满意的颜色方案,可以通过“导出设置”功能将配置保存为XML文件,这样在其他机器上或重装软件后可以直接导入,避免重复配置。 6. **SQL_CODE.txt**:此文件可能包含了示例的SQL或...

    plsql 12 汉化版+注册Key

    在本文中,我们将深入探讨PLSQL Developer 12的汉化版及其与Oracle数据库的交互,以及如何使用注册Key激活软件。 PLSQL Developer 12是针对Oracle数据库管理、开发和调试的集成环境。它提供了一个用户友好的界面,...

    sqldeveloper-19.2.1.247.2212-x64.zip

    - 导入/导出数据:可以方便地导入和导出数据,支持多种格式,如 CSV、XML 和 Excel。 3. **版本信息**: "19.2.1.247.2212" 是 SQL Developer 的一个版本号,它表示这是 2019 年第 2 个主要更新,包含了对性能、...

    plsql界面化工具

    4. **数据导入导出**:PLSQL Developer支持从多种格式(如CSV、XML)导入数据到数据库,也可以将数据库数据导出为这些格式,便于数据交换和备份。 5. **项目管理**:通过创建项目,用户可以组织和管理相关的数据库...

    类似plsql中文版mysql工具

    MySQL是世界上最受欢迎的开源数据库管理系统之一,而PL/SQL是Oracle数据库系统中使用的结构化查询语言,它提供了强大的数据操作和存储过程编写能力。在寻找类似PL/SQL的工具来管理MySQL时,我们经常会提到“类似...

    PLSQL Developer 8.0使用指南

    PLSQL Developer是一款强大的Oracle数据库开发工具,专为编写、调试、测试和管理PL/SQL代码而设计。在PLSQL Developer 8.0版本中,它提供了许多功能来提高开发人员的效率,使得对Oracle数据库的交互更为便捷。下面将...

    PLSQL Developer 13 用户指南 (PLSQL Developer 13.0 User's Guide)

    - **导出数据**:可以将结果集导出为多种格式,如 CSV、Excel 等。 ##### 5.8 查看 DBMS_OUTPUT - **输出日志**:展示了如何使用 DBMS_OUTPUT 包输出调试信息。 - **输出查看**:提供了查看输出信息的功能,便于...

    plsqldev1105 32位

    7. 数据导入导出:能够将数据从一个数据库或文件导入到另一个数据库,或者导出为各种格式,如CSV、XML等。 8. 报表生成:可以创建自定义报表,用于数据分析或报表呈现。 9. 集成开发环境(IDE):提供统一的工作台...

    PLSQL Developer中文版.rar

    6. **数据导出与导入**:PLSQL Developer允许用户将数据库数据导出为多种格式(如CSV、XML),同时也能导入数据到数据库,简化数据迁移和备份过程。 7. **报表生成**:可以创建自定义的报表,展示数据库对象的详细...

Global site tag (gtag.js) - Google Analytics