-*********************************************************************
--***
--***首先以dba或者是其他具有create directory的用户创建directory,然后授权。这一步很重要,否则后面执行存储过程会报异常
--***
--*********************************************************************
CREATE OR REPLACE DIRECTORY dir_jiang AS 'd:\oracle';
GRANT READ,WRITE ON directory dir_jiang TO scott;
--*********************************************************************
--***
--***执行导出文本文件的存储过程:p_exp
--***p_tname:要导出的表明;p_query:where条件,根据这个条件导出,如果为null,则全表导出
--***
--***
--*********************************************************************
CREATE OR REPLACE procedure p_exp(p_tname varchar2,p_query varchar2)
AS
v_line varchar2(2000); --记录的数据
v_sql varchar2(2000); --动态sql变量
v_fname varchar2(40); --导出数据的文件名字
cursor cursor_column --游标:通过数据字典查找出表有哪些字段
IS SELECT column_name,data_type
FROM user_tab_columns WHERE table_name=upper(p_tname);
type type_cursor IS ref cursor ;
mycursor type_cursor;
outf utl_file.file_type;
BEGIN
v_fname:=p_tname||'.txt'; ---此处的格式可以设置为.xls或是.doc格式的文件。
FOR col IN cursor_column loop
IF col.data_type='DATE' THEN
v_sql:=v_sql||'to_char('||col.column_name||',''yyyy-mm-dd-hh24:mi:ss'')'||'||chr(9)||';
ELSE
v_sql:=v_sql||col.column_name||'||chr(9)||';
END IF;
END loop;
v_sql:=rtrim(v_sql,'||chr(9)||');
v_sql:='select '||v_sql||' from '||p_tname||' '||p_query;
dbms_output.put_line(v_sql);
outf:=utl_file.fopen('DIR_JIANG',v_fname,'w');
open mycursor FOR v_sql;
loop
fetch mycursor INTO v_line;
exit when mycursor%notfound;
utl_file.put_line(outf,v_line);
END loop;
utl_file.fclose(outf);
dbms_output.put_line('导出成功');
END;原文地址:http://j2ee2009.javaeye.com/blog/677973 相关关键词搜索:oracle读写文件--利用utl_file包对磁盘文件的读写操作
- 浏览: 2289049 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (314)
- JAVA基础知识 (54)
- Java-IO/FIle (16)
- Java-JDBC (4)
- JAVA-新增特性-注解 (3)
- Java-枚举 (2)
- Java-泛型 (1)
- Java-多线程 (15)
- Java-XML (4)
- Java-JMS(消息服务) (4)
- Java-JVM (0)
- Web Service服务 (7)
- Jsp (10)
- js (18)
- Struts框架 (11)
- Spring框架 (29)
- Hibernate框架 (28)
- Spring Boot框架 (2)
- ExtJS前端框架 (29)
- Jquery js库 (8)
- JUnit框架 (8)
- Selenium 测试 (1)
- NoSql---Redis (6)
- ORACLE数据库 (45)
- MySQL数据库 (4)
- tomcat (3)
- Nginx反向代理服务器 (4)
- web应用服务器通用知识 (3)
- 开发工具IDE (14)
- UML建模 (1)
- SVN CVS 版本管理 (6)
- git 分布式版本管理 (4)
- 报表设计 (5)
- 文件上传下载 (2)
- 数据算法 (1)
- 存储过程 (5)
- JSON 相关 (1)
- OGNL表达式 (3)
- Util工具包 (9)
- 设计模式 (15)
- linux 相关 (3)
- life think (3)
- 工作流管理框架 (1)
- 大数据-Hadoop (1)
最新评论
-
huih:
很不错的文章
SpringMVC+Hibernate+Spring 简单的一个整合实例 -
calm01:
学习了.
Spring <bean>标签属性 Autowire自动装配(转载) -
lizhenlzlz:
我的也是拦截不了service层
SpringAOP拦截Controller,Service实现日志管理(自定义注解的方式)(转载) -
josh_123:
讲的不错,很详细,如果quartz定时任务类采用不继承任何类的 ...
Spring,jdk定时任务的几种实现以及任务线程是串行还是并行执行(转载) -
human_coder:
你知道eclipse调试怎么可以回调吗?有时候总是调快了,不能 ...
Debug---Eclipse断点调试基础
发表评论
-
oracle 动态执行命令execute immediate
2016-06-12 17:42 3356可以使用execute immediate来动态执SQL语 ... -
Oracle表与索引的分析及索引重建(转载)
2015-04-27 17:08 3253Oracle表与索引的分析及索引重建 2010年1 ... -
java.util.Date、java.sql.Date、java.sql.Time、java.sql.Timestamp区别和总结(转载)
2015-04-15 16:36 8233在web开发中,避免不了对日期的操作,就几种常见的日期操作 ... -
jdbc连接数据库使用sid和service_name的格式区别(转载)
2015-04-10 10:25 3944最近使用jdbc连接oracle时报错: ORA-1250 ... -
oracle 执行计划为什么不走hash join?(转载)
2015-04-07 14:34 5452今天,某省的同事来告诉我,表重组后,他用于统计的一个sql脚 ... -
详细介绍ORACLE sqlplus命令(转)
2015-04-03 10:05 1991一、ORACLE的启动和关闭1、在单机环境下要想启动或关 ... -
oracle sqlplus登陆命令(转载)
2015-04-03 09:59 4298oracle sqlplus登陆命令 首先,进入 ... -
Oracle ORA-01555快照过旧的错误(转载)
2015-02-25 16:31 2913第一篇文章: 首先 ... -
oracle创建分区表,以及非分区表转分区表(转载)
2015-01-22 17:14 3333什么是分区表,分区表详解:http://langgufu. ... -
oracle游标详解
2015-01-15 16:55 5098Oracle游标循环 第一种使用loop 循环 ... -
Oracle调优总结--2(经典实践 重要)
2014-11-24 15:43 979Oracle SQL性能优化 (1 ... -
解读Oracle执行计划
2014-11-19 17:10 5101本篇解释执行计划中基本项的含义 关于生成和显示Oracle ... -
Oracle 执行计划(Explain Plan) 说明
2014-11-19 17:10 54484如果要分析某条SQL的性能问题,通常我们要先看SQL的执 ... -
oracle导出excel 方法总结
2014-11-19 11:38 8803oracle导出excel 一、oracle导出exce ... -
oracle translate()详解+实例(替换字符函数)+rpad()填充函数
2014-10-28 16:19 2354一、语法: TRANSLATE(string,from ... -
oracle根据已有表及数据创建表分区并导入数据
2014-10-21 17:05 62oracle根据已有表及数据创建表分区并导入数据 假 ... -
ORACLE 普通表转换成分区表(在线重定义方法详解 转载)
2014-10-21 17:01 5463什么是分区表,分区表详解:http://langguf ... -
Oracle中的不等于号(转)
2014-07-29 16:02 1160今天碰到一个Oracle不等 ... -
oracle 自定义类型 type / create or replace type (转载)
2014-07-17 15:21 16794<!--正文 begin--> 一: ... -
能使 Oracle 索引失效的七大限制条件
2014-01-27 16:21 2951Oracle 索引的目标是避免全表扫描,提高查询效率,但有些 ...
相关推荐
1:数据库dba权限 2:设置路径 3:运行存储过程即可 oracle 存储过程导出 XLS WORD TXT
oracle 存储过程导出excel oracle 存储过程导出excel oracle 存储过程导出excel oracle 存储过程导出excel oracle 存储过程导出excel
可以把oracle中大量数据导出为txt格式,便于在线下载、存储等后续处理。已经测试过,可以执行。
oracle使用spool导出文本(txt)的方法,可以自定义导出格式。
定时导出oracle指定用户下指定表的所有数据及格式生成CSV文件,通过存储过程; 1.使用特定用户或者system登陆到oracle执行"存储过程.txt"里面的脚本生成对应的存储过程; (说明:存储过程.txt脚本说明,查询指定用户下...
Oracle存储过程导入导出数据,希望大家共同提高。
oracle数据库的表数据导出为csv文件
java导出oracle数据(单表)
Oracle 大批量导出至txt文件 新建一个命令窗口,执行下面脚本。注意修改目标文件名、表名
非常好用的,速度超快,免费的。请支持原作者,微博名:云计算民工。我只是搬运工。教程请自行去搜。
oracle导出excel的数据字典sql,根据该sql可以导出数据字典。
java导出oracle数据(单表).pdf
oracle导出文本文件的存储过程。 需要在oracle安装的机器上导出,效率非常高。
在Oracle数据库上导出上千万上亿数据的工具 cmd 到本目录 然后执行如下命令: ->sqluldr2.exe user=用户名/密码@数据库 query="查询语句" table=表名 head=yes FILE=存放路径 例如:sqluldr2.exe user=u/pass@db ...
将oracle数据记录导出到excel文件中。先按文档中语句将数据查询出来,再拷贝到excel中
Oracle数据导入导出impexp.txtOracle数据导入导出impexp.txtOracle数据导入导出impexp.txtOracle数据导入导出impexp.txtOracle数据导入导出impexp.txtOracle数据导入导出impexp.txtOracle数据导入导出impexp....
oracle数据泵导出为低版本命令。 从11g导出为10g版本,经过多次测试没有问题,而且导出速度非常快。
oracle xls 文件导出 脚本文件 oracle 导出xls文件数据的脚本 oracle 导出xls文件数据的脚本
描述一些用数据字典内容查询表结构的内容,使用简单的SQL可以方便的查询所要的内容
oracle导出ddl语句 表 所有 过程 包