`

oracle 存储过程,导出sql到文本,动态sql,dbms_sql使用

 
阅读更多
  1. createorreplacepackageSqlexp_packis
  2. --Author:YANLEI
  3. --Created:2008-12-2511:25:09
  4. --Purpose:oracle导出
  5. --sql导出文本字符串
  6. functionSqlToText(sqlstrinvarchar2)returnlong;
  7. --sql导出文件
  8. functionSqlTofile(sqlstrinvarchar2,filenameinvarchar2)
  9. returnvarchar2;
  10. endSqlexp_pack;
  11. /
  12. createorreplacepackagebodySqlexp_packis
  13. --sql导出文本字符串
  14. functionSqlToText(sqlstrinvarchar2)returnlongis
  15. colnamevarchar2(4000);
  16. rownuminteger;
  17. colnumnumberdefault0;--字段个数
  18. linestrvarchar2(20000);
  19. ylTbldbms_sql.desc_tab;--表信息
  20. ylCursorintegerdefaultdbms_sql.open_cursor;--sql输出的游标
  21. rstrlong;
  22. begin
  23. dbms_sql.parse(ylCursor,sqlstr,dbms_sql.native);--解析动态SQL语句;
  24. dbms_sql.describe_columns(ylCursor,colnum,yltbl);--获得动态sql的元数据
  25. foriin1..colnumloop
  26. dbms_sql.define_column(ylCursor,i,colname,4000);--定义动态sql的列
  27. endloop;
  28. rownum:=dbms_sql.execute(ylCursor);--执行动态SQL语句。返回值,对于非查询的语句,execute将执行该语句并返回处理了的行的个数。对于查询,execute将确定活动集返回,返回值为0
  29. ifrownum<>0then
  30. return'';
  31. endif;
  32. rstr:='';
  33. while(dbms_sql.fetch_rows(ylCursor)>0)loop
  34. linestr:='';
  35. foriin1..colnumloop
  36. dbms_sql.column_value(ylCursor,i,colname);--获得字段值
  37. linestr:=linestr||colname;
  38. ifi<colnumthen
  39. linestr:=linestr||',';
  40. endif;
  41. endloop;
  42. rstr:=rstr||linestr||chr(10);
  43. endloop;
  44. dbms_sql.close_cursor(ylCursor);
  45. returnrstr;
  46. exception
  47. whenothersthen
  48. dbms_sql.close_cursor(ylCursor);
  49. raise;
  50. endSqlToText;
  51. --sql导出文件
  52. functionSqlTofile(sqlstrinvarchar2,filenameinvarchar2)
  53. returnvarchar2is
  54. strlong;
  55. begin
  56. str:=SqlToText(sqlstr);
  57. YLFileop_pack.writefile(filename,str);
  58. return'成功';
  59. end;
  60. endSqlexp_pack;
  61. /
  62. ---转载保留版权 by yanleigis email:landgis@126.com
分享到:
评论

相关推荐

    oracle jobs 导出为执行脚本

    /*oracle jobs 导出为执行脚本 &lt;br&gt; 就是把all_jobs或dba_jobs,导成DBMS_JOB.SUBMIT可以插入job的格式 其中all_jobs是当前用户的job,dba_jobs则是全部 下面只是随便整理了下,可以按照个人需要修改 ...

    Oracle数据库管理员技术指南

    3.1.16 不能对恢复同时使用导出和归档 重做日志 3.1.17 增量、累积和完全的导出和导入 3.2 怎样优化导出性能 3.2.1 使用 DIRECT 路径导出 3.2.2 对传统的路径导出使用大的 BUFFER 值 3.2.3 对直接路径导出...

    一个oracle客户端(oracle sql handler)

    多线程、多连接、智能/彩色SQL编辑器、中英文双语界面并能切换、支持 PL/SQL、批量SQL运行、高效的块操作、方便的表格操作,不需要安装 Oracle 客户端,能运行于所有的主流平台包括 Windows、Linux 、Unix 及 Mac ...

    Oracle 数据泵导出和导入.docx

    Oracle 数据泵导出和导入 Oracle 数据泄导出和导入是 Oracle 10g 中引入的 DATA PUMP 技术,提供了基于服务器的数据提取和恢复的实用程序。DATA PUMP 允许您停止和重启作业,查看运行的作业的状态,及对导入和导出...

    powerdesigner从概念模型生成物理模型并导出sql生成数据库[归纳].pdf

    下面将详细介绍PowerDesigner从概念模型生成物理模型并导出SQL生成数据库的过程。 概念模型 概念模型是PowerDesigner中的最高级别模型,它描述了业务领域中的实体、属性和关系。概念模型是面向业务的,主要用于...

    震撼推出超方便实用的Oracle开发工具 - Oracle SQL Handler,双语界面,智能SQL编辑器,免装Oracle客户端,能运行于Windows, 双语界面

    Oracle SQL Handler,是专为 Oracle 数据库开发人员及操作人员精心打造的一款 Oracle 客户端工具 : 超智能的SQL编辑器;超方便的表格操作(可以通过修改表格的单元格数据去更新数据库表 );多种格式的数据导出包括...

    PL/SQL Developer8.04官网程序_keygen_汉化

    使用这些工具,您可以重新编译全部不合法对象、查找数据库源中文本、导入或导出表格、生成测试数据、导出文本文件、监控dbms_alert和dbms_pipe事件、浏览会话信息等。 授权  大多数开发环境中,您不希望所有数据库...

    Oracle开发工具 - Oracle SQL Handler(功能强大,超方便好用, 免装客户端, Windows / Linux)

    Oracle SQL Handler,是专为 Oracle 数据库开发人员及操作人员精心打造的一款 Oracle 客户端工具: 超智能的SQL编辑器;超方便的表格操作(可以通过修改表格的单元格数据去更新数据 库表);多种格式的数据导出包括...

    Oracle SQL Handler (Oracle客户端工具) V3.1

    zip 文件解压到一目录,如何使用,请参照解压后的帮助文件 Help.html 【软件功能】 &lt;1&gt; 以表格的形式显示 Select SQL 语句的查询结果,可以直接对查询结果进行再操作,如修改、插入、删除、保存、多功能拷贝、导出、...

    oracle database 10g 完整参考手册part1

    第32章 使用本地动态SQL和DBMS_SQL 第Ⅴ部分 对象关系数据库 第33章 实现类型、对象视图和方法 第34章 收集器(嵌套表和可变数组) 第35章 使用大对象 第36章 面向对象的高级概念 第Ⅶ部分 Oracle中的Java 第37章 Java...

    PLSQL高级编程资料

    5.2 在Oracle8i 数据库中使用外部文件: 5.3 DBMS_LOB 包 5.3.1 函数说明 5.3.2 应用举例 5.3.3 内部 LOB 的函数和过程5.3.4 内部 LOB 的函数和过程的应用举例 5.3.5 临时 LOB 第六章 管理事务和锁定 6.1 事务 ...

    PL/SQL Developer

    使用这些工具,您可以重新编译全部不合法对象、查找数据库源中文本、导入或导出表格、生成测试数据、导出文本文件、监控dbms_alert和dbms_pipe事件、浏览会话信息等。  授权——大多数开发环境中,您不希望所有...

    PL/SQL Developer v8.0.zip

    使用这些工具,您可以重新编译全部不合法对象、查找数据库源中文本、导入或导出表格、生成测试数据、导出文本文件、监控dbms_alert和dbms_pipe事件、浏览会话信息等。 授权——大多数开发环境中,您不希望所有...

    PL/SQL Developer 6.05注册版-1

    使用这些工具,您可以重新编译全部不合法对象、查找数据库源中文本、导入或导出表格、生成测试数据、导出文本文件、监控dbms_alert和dbms_pipe事件、浏览会话信息等。 &lt;br&gt;授权——大多数开发环境中,您不希望...

    Oracle8i_9i数据库基础

    第一部分 Oracle SQL*PLUS基础 23 第一章 Oracle数据库基础 23 §1.1 理解关系数据库系统(RDBMS) 23 §1.1.1 关系模型 23 §1.1.2 Codd十二法则 24 §1.2 关系数据库系统(RDBMS)的组成 24 §1.2.1 RDBMS 内核 24...

    SQL21日自学通

    第14 天动态使用SQL 282 目标282 快速入门282 ODBC 282 Personal Oracle 7283 InterBase SQL ISQL 283 Visual C++ 284 Delphi284 设置284 创建数据库285 使用MS QUERY 来完成链接290 将VISUAL C++与SQL 结合使用292 ...

    PL/SQL Developer 7.1.5 注册版-3

    使用这些工具,您可以重新编译全部不合法对象、查找数据库源中文本、导入或导出表格、生成测试数据、导出文本文件、监控dbms_alert和dbms_pipe事件、浏览会话信息等。 &lt;br&gt;授权——大多数开发环境中,您不希望...

    pl/sql developer 9 + 注册机

    使用这些工具,您可以重新编译全部不合法对象、查找数据库源中文本、导入或导出表格、生成测试数据、导出文本文件、监控dbms_alert和dbms_pipe事件、浏览会话信息等。 授权  大多数开发环境中,您不希望所有数据库...

Global site tag (gtag.js) - Google Analytics