`
angkorpeach
  • 浏览: 119439 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

oracle存储过程导出txt例子

阅读更多
---------------------------------------------
-- Export file for user JHMCC              --
-- Created by sysman on 2009-4-1, 13:49:27 --
---------------------------------------------

spool 123.log

prompt
prompt Creating procedure READ_BLOB_DOC
prompt ================================
prompt
CREATE OR REPLACE PROCEDURE JHMCC.Read_Blob_doc
(
  -- Author  : wujing
  -- Created : 2008-2-28
  -- Purpose : 结合 UTL_FILE与DBMS_LOB包,将clob字段内容导入文件
  filename varchar2
  --CREATE OR REPLACE DIRECTORY DOCS AS 'F:\MyOem' :必要条件,申明 DOCS 路径变量
) 
as
  l_file UTL_FILE.FILE_TYPE;
  l_buffer VARCHAR2(32767); --缓存区,保证极限大
  --l_buffer RAW(32767);
  l_amount BINARY_INTEGER:=1000; --每次读取的最大字节数,可自由调节,切忌接近32767
  l_pos NUMBER:=1;
  l_Blob clob;
  l_Blob_len Number;
BEGIN
   SELECT t.zlnr INTO l_Blob FROM zl_info_nr t
      where t.zlcode='2008122601764';
      --2008122601764
      --2008122516884
  l_Blob_len:=dbms_lob.getlength(l_Blob);
  l_file:=UTL_FILE.FOPEN('DOCS',filename,'W');
  -- R: 只读模式
  -- A: 追加读写模式
  -- W: 刷新读写模式
  --UTL_FILE.GET_LINE(l_file,l_buffer);
  --dbms_output.put_line(l_buffer);
  
  utl_file.put_line(l_file,'jobs表导出数据');
  WHILE l_pos<l_Blob_len LOOP
  DBMS_LOB.READ(l_Blob,l_amount,l_pos,l_buffer);
  UTL_FILE.put_line(l_file,l_buffer);
  UTL_FILE.FFLUSH(l_file);
  --UTL_FILE.PUT_RAW(l_file,l_buffer,TRUE);
  l_pos:=l_pos+l_amount;
  END LOOP;
  UTL_FILE.FCLOSE(l_file);
  
  EXCEPTION
  WHEN OTHERS THEN
  dbms_output.put_line(substr(l_buffer,1,200));--捕捉出错的数据段
  utl_file.put_line(l_file,'妈的,导入出错了');
  
  IF UTL_FILE.IS_OPEN(l_file) THEN
  UTL_FILE.FCLOSE(l_file);
  END IF;
  --RAISE;
END Read_Blob_doc;

 

 说明:我同事吴靖的作品,本人都没怎么看懂,如果需要看懂请查阅UTL_FILE相关资料!

分享到:
评论
1 楼 renguistyle 2012-09-12  
UTL_FILE.put(l_file,l_buffer); 
这个一次最多只能写32767个bit的数据,clob字段比较大时就需要循环的往里写多次,这样文件里面会出现不应该存在的换行。这个还不知道怎么处理

相关推荐

    构建最高可用Oracle数据库系统 Oracle 11gR2 RAC管理、维护与性能优化

    12.7.2导入导出工具数据泵 12.7.3跨平台数据迁移 12.7.4可传输表空间 12.7.5使用RMAN工具复制数据库 12.8本章小结 第13章 RAC恢复 13.1恢复技术基础 13.1.1恢复解决方案 13.1.2 SCN时间机制 13.1.3日志线程...

    ORACLE11G宝典.rar 是光盘里面的内容,书太厚咧没法影印啊

    并在Oracle11g的环境中,对书中的全部例子进行了运行(其中大部分例子都以具体操作界面的形式添加到书中),以给读者构造一个真实、有序、合理、坚实、正确和专业的Oracle知识结构。  《Oracle11g宝典》是Oracle...

    Oracle8i_9i数据库基础

    §16.2.3.2 对存储过程程序进行解释 279 §16.2.3.3 调试源码直到正确 279 §16.2.3.4 授权执行权给相关的用户或角色 279 §16.2.4 与存储过程相关数据字典 280 §16.3 创建函数 281 §16.4 过程和函数中的例外处理 ...

    oracle学习文档 笔记 全面 深刻 详细 通俗易懂 doc word格式 清晰 连接字符串

     EXP_FULL_DATABASE, IMP_FULL_DATABASE这两个角色用于数据导入导出工具的使用。  自定义角色 Oracle建议我们自定义自己的角色,使我们更加灵活方便去管理用户  创建角色 SQL&gt; create role admin;  授权给...

    oracle详解

    导入/导出是ORACLE幸存的最古老的两个命令行工具,其实我从来不认为Exp/Imp是一种好的备份方式,正确的说法是Exp/Imp只能是一个好的转储工具,特别是在小型数据库的转储,表空间的迁移,表的抽取,检测逻辑和物理...

    ORACLE之常用FAQ V1.0(整理)

    [Q]怎么样加密存储过程 7 [Q] 7 [Q] 7 [Q]如果存在就更新,不存在就插入可以用一个语句实现吗 8 [Q]怎么实现左联,右联与外联 9 [Q]怎么实现一条记录根据条件多表插入 10 [Q]如何实现行列转换 11 [Q]怎么样实现分组...

    查询数据的好工具

    SqlDbx 是简单易用的数据库设备,SQL...可以看到库中有多少表、多少存储过程、多少触发器、多少视图、多少函数,可以直接看到每个表的数据行数,可以导出查询结果的insert语句,还可以对比不同库中同一个表的差异等等。

    Sqlserver2000经典脚本

    │ 7.2.4 使用系统存储过程实现的通用分页存储过程.sql │ │ 7.3.1 实现随机分页的通用分页存储过程.sql │ │ 7.3.2 根据分类表实现的分页存储过程.sql │ │ │ └─其他 │ sp_cursor.sql...

    经典SQL脚本大全

    │ │ 7.2.4 使用系统存储过程实现的通用分页存储过程.sql │ │ 7.3.1 实现随机分页的通用分页存储过程.sql │ │ 7.3.2 根据分类表实现的分页存储过程.sql │ │ │ └─其他 │ sp_cursor.sql │ 基本方法.sql ...

    数据库基础

    §16.2.3.2 对存储过程程序进行解释 279 §16.2.3.3 调试源码直到正确 279 §16.2.3.4 授权执行权给相关的用户或角色 279 §16.2.4 与存储过程相关数据字典 280 §16.3 创建函数 281 §16.4 过程和函数中的例外处理 ...

    C#基类库(苏飞版)

    使用C#实现对Sql数据库的操作,执行存储过程,Sql语句,返回影响行数,返回DateTable,DataSet,DataReader,以及表集等方法。实现多个数据库的切换功能。功能强大,希望大家喜欢 2.一个操作Sql2005数据库的类(备份...

    asp.net知识库

    发布Oracle存储过程包c#代码生成工具(CodeRobot) New Folder XCodeFactory3.0完全攻略--序 XCodeFactory3.0完全攻略--基本思想 XCodeFactory3.0完全攻略--简单示例 XCodeFactory3.0完全攻略--IDBAccesser ...

    网管教程 从入门到精通软件篇.txt

     bootcfg /rebuild 重复全部 Windows 安装过程并允许用户选择要添加的内容。  注意:使用 bootcfg /rebuild 之前,应先通过 bootcfg /copy 命令备份 boot.ini 文件。  bootcfg /scan 扫描用于 Windows 安装的...

    PHP开发实战1200例(第1卷).(清华出版.潘凯华.刘中华).part1

     《PHP开发实战1200例》分为I、II两卷共计1200个例子,包括了开发中各个方面最常用的实例,是目前市场上实例最全面的开发类图书;书中实例来源于多位工程师的多年积累,具有很强的实用性。 本书是第I卷,以开发...

    PHP开发实战1200例(第1卷).(清华出版.潘凯华.刘中华).part2

     《PHP开发实战1200例》分为I、II两卷共计1200个例子,包括了开发中各个方面最常用的实例,是目前市场上实例最全面的开发类图书;书中实例来源于多位工程师的多年积累,具有很强的实用性。 本书是第I卷,以开发...

    (重要)AIX command 使用总结.txt

    kmtune //HP-UX下用kmtune&gt;kernel.txt将内核参数信息导出到kernel.txt文件中配置文件为: /usr/conf/master.d/core-hpux ##操作系统 //操作系统版本 uname -a //操作系统补丁 instfix -i|grep ML //获取硬件信息 ...

    php网络开发完全手册

    16.3.2 存储过程的创建与调用 264 16.3.3 存储过程的参数 265 16.3.4 复合语句 267 16.3.5 变量 268 16.3.6 条件语句 269 16.3.7 循环语句 271 16.3.8 游标 273 16.3.9 存储过程的删除 275 16.4 触发器的设计 275 ...

Global site tag (gtag.js) - Google Analytics