`
- 浏览:
21675265 次
- 性别:
- 来自:
杭州
-
oracle 存储过程,导出sql到文本,动态sql,dbms_sql使用
-
createorreplacepackageSqlexp_packis
- --Author:YANLEI
-
--Created:2008-12-2511:25:09
- --Purpose:oracle导出
- --sql导出文本字符串
-
functionSqlToText(sqlstrinvarchar2)returnlong;
- --sql导出文件
-
functionSqlTofile(sqlstrinvarchar2,filenameinvarchar2)
- returnvarchar2;
-
endSqlexp_pack;
- /
-
createorreplacepackagebodySqlexp_packis
- --sql导出文本字符串
-
functionSqlToText(sqlstrinvarchar2)returnlongis
-
colnamevarchar2(4000);
-
rownuminteger;
-
colnumnumberdefault0;--字段个数
-
linestrvarchar2(20000);
-
ylTbldbms_sql.desc_tab;--表信息
-
ylCursorintegerdefaultdbms_sql.open_cursor;--sql输出的游标
- rstrlong;
-
begin
-
dbms_sql.parse(ylCursor,sqlstr,dbms_sql.native);--解析动态SQL语句;
-
dbms_sql.describe_columns(ylCursor,colnum,yltbl);--获得动态sql的元数据
-
foriin1..colnumloop
-
dbms_sql.define_column(ylCursor,i,colname,4000);--定义动态sql的列
-
endloop;
-
rownum:=dbms_sql.execute(ylCursor);--执行动态SQL语句。返回值,对于非查询的语句,execute将执行该语句并返回处理了的行的个数。对于查询,execute将确定活动集返回,返回值为0
-
ifrownum<>0then
-
return'';
-
endif;
-
rstr:='';
-
while(dbms_sql.fetch_rows(ylCursor)>0)loop
-
linestr:='';
-
foriin1..colnumloop
-
dbms_sql.column_value(ylCursor,i,colname);--获得字段值
- linestr:=linestr||colname;
-
ifi<colnumthen
-
linestr:=linestr||',';
-
endif;
-
endloop;
-
rstr:=rstr||linestr||chr(10);
-
endloop;
-
dbms_sql.close_cursor(ylCursor);
- returnrstr;
- exception
-
whenothersthen
-
dbms_sql.close_cursor(ylCursor);
-
raise;
-
endSqlToText;
- --sql导出文件
-
functionSqlTofile(sqlstrinvarchar2,filenameinvarchar2)
-
returnvarchar2is
- strlong;
-
begin
- str:=SqlToText(sqlstr);
-
YLFileop_pack.writefile(filename,str);
-
return'成功';
-
end;
-
endSqlexp_pack;
- /
- ---转载保留版权 by yanleigis email:landgis@126.com
分享到:
Global site tag (gtag.js) - Google Analytics
相关推荐
/*oracle jobs 导出为执行脚本 <br> 就是把all_jobs或dba_jobs,导成DBMS_JOB.SUBMIT可以插入job的格式 其中all_jobs是当前用户的job,dba_jobs则是全部 下面只是随便整理了下,可以按照个人需要修改 ...
3.1.16 不能对恢复同时使用导出和归档 重做日志 3.1.17 增量、累积和完全的导出和导入 3.2 怎样优化导出性能 3.2.1 使用 DIRECT 路径导出 3.2.2 对传统的路径导出使用大的 BUFFER 值 3.2.3 对直接路径导出...
多线程、多连接、智能/彩色SQL编辑器、中英文双语界面并能切换、支持 PL/SQL、批量SQL运行、高效的块操作、方便的表格操作,不需要安装 Oracle 客户端,能运行于所有的主流平台包括 Windows、Linux 、Unix 及 Mac ...
Oracle 数据泵导出和导入 Oracle 数据泄导出和导入是 Oracle 10g 中引入的 DATA PUMP 技术,提供了基于服务器的数据提取和恢复的实用程序。DATA PUMP 允许您停止和重启作业,查看运行的作业的状态,及对导入和导出...
下面将详细介绍PowerDesigner从概念模型生成物理模型并导出SQL生成数据库的过程。 概念模型 概念模型是PowerDesigner中的最高级别模型,它描述了业务领域中的实体、属性和关系。概念模型是面向业务的,主要用于...
Oracle SQL Handler,是专为 Oracle 数据库开发人员及操作人员精心打造的一款 Oracle 客户端工具 : 超智能的SQL编辑器;超方便的表格操作(可以通过修改表格的单元格数据去更新数据库表 );多种格式的数据导出包括...
使用这些工具,您可以重新编译全部不合法对象、查找数据库源中文本、导入或导出表格、生成测试数据、导出文本文件、监控dbms_alert和dbms_pipe事件、浏览会话信息等。 授权 大多数开发环境中,您不希望所有数据库...
Oracle SQL Handler,是专为 Oracle 数据库开发人员及操作人员精心打造的一款 Oracle 客户端工具: 超智能的SQL编辑器;超方便的表格操作(可以通过修改表格的单元格数据去更新数据 库表);多种格式的数据导出包括...
zip 文件解压到一目录,如何使用,请参照解压后的帮助文件 Help.html 【软件功能】 <1> 以表格的形式显示 Select SQL 语句的查询结果,可以直接对查询结果进行再操作,如修改、插入、删除、保存、多功能拷贝、导出、...
第32章 使用本地动态SQL和DBMS_SQL 第Ⅴ部分 对象关系数据库 第33章 实现类型、对象视图和方法 第34章 收集器(嵌套表和可变数组) 第35章 使用大对象 第36章 面向对象的高级概念 第Ⅶ部分 Oracle中的Java 第37章 Java...
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 事务 ...
使用这些工具,您可以重新编译全部不合法对象、查找数据库源中文本、导入或导出表格、生成测试数据、导出文本文件、监控dbms_alert和dbms_pipe事件、浏览会话信息等。 授权——大多数开发环境中,您不希望所有...
使用这些工具,您可以重新编译全部不合法对象、查找数据库源中文本、导入或导出表格、生成测试数据、导出文本文件、监控dbms_alert和dbms_pipe事件、浏览会话信息等。 授权——大多数开发环境中,您不希望所有...
使用这些工具,您可以重新编译全部不合法对象、查找数据库源中文本、导入或导出表格、生成测试数据、导出文本文件、监控dbms_alert和dbms_pipe事件、浏览会话信息等。 <br>授权——大多数开发环境中,您不希望...
第一部分 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...
第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 ...
使用这些工具,您可以重新编译全部不合法对象、查找数据库源中文本、导入或导出表格、生成测试数据、导出文本文件、监控dbms_alert和dbms_pipe事件、浏览会话信息等。 <br>授权——大多数开发环境中,您不希望...
使用这些工具,您可以重新编译全部不合法对象、查找数据库源中文本、导入或导出表格、生成测试数据、导出文本文件、监控dbms_alert和dbms_pipe事件、浏览会话信息等。 授权 大多数开发环境中,您不希望所有数据库...