使用存储过程将Oracle数据批量导出为多个csv文件
来源:互联网 发布:全国公路数据库系统 编辑:程序博客网 时间:2024/05/18 20:11
数据库有如下表结构:
aaa (
obj_id NUMBER, (Primary Key)
obj_name VARCHAR2(80),
obj_size NUMBER NOT NULL
obj_time NUMBER NOT NULL
ms_version NUMBER NOT NULL
)
现在有100万条记录,要求每1000条记录导出为一个csv文件,共计1000个文件,文件名称格式为output0.csv,output1.csv......output999.csv。每个csv文件每行记录包含:$1, $2, $3, $4四部分内容。
$1 = obj_id|obj_name
$2 = obj_size *10+obj_version
$3 = obj_time in format YYYY-MM-DD HH:mi
$4 = obj_name
要求第一个文件在500ms以内产生出来,后面每个文件生成间隔时间不得大于500ms,速度均匀。方案一:使用pl/sql存储过程分页查询,每次查询1000条记录写一个文件,实现代码如下:
经过测试,1000个文件总共花150s,平均每个文件150ms。
注意:执行该存储过程之前,UTL_FILE的目录必须以sysdba的用户创建,然后授权给使用的用户,代码中的MYDIR通过下面方法创建:
首先,以sysdba用户登录。
其次,创建目录,如:CREATE DIRECTORY MYDIR AS 'c:\oraload\';
最后,给用户授权,如:GRANT READ,WRITE ON DIRECTORY MYDIR TO scott;
方案二:部分页,一次性将100万条记录全部查询出来放到游标中,每1000条写一个文件,代码如下:
经测试发现,100万条记录总共耗时50s,平均每个文件50ms,速度大大提高。阅读全文
0 0
- 使用存储过程将Oracle数据批量导出为多个csv文件
- 使用存储过程将数据批量导出为多个csv文件(ORACLE)
- 使用存储过程将Oracle数据批量导出为多个csv文件
- 将任意表数据导出为CSV文件的过程
- Oracle将数据导出到CSV文件
- Oracle将数据导出到CSV文件
- Oracle将数据导出到CSV文件
- 批量导出为csv文件
- 如何将SQL Server数据表中的数据按条件批量导出为多个Excel文件
- Oracle批量导出表数据到CSV文件
- Oracle批量导出表数据到CSV文件
- 存储过程导出csv文件,利用xml对csv文件内容进行批量处理
- 将数据导出为csv文件(需要javacsv.jar)
- Oracle批量导出存储过程
- oracle数据库的表数据导出为csv文件
- 批量导出表数据到CSV文件
- c#读取csv文件成DataTable,将DataTable数据存储为csv格式文件
- C#将数据存储为CSV文件格式
- Eclipes Jrebel 7.0.14安装 破解 配置 启动项目
- 类和对象:给大家介绍对象
- 一分钟了解"用英语表示目标存在/在场 or not"
- open-falcon Dashboard初步使用
- IC智能卡热表系统
- 使用存储过程将Oracle数据批量导出为多个csv文件
- linux下载文件命令
- 总结命令行05:Kafka
- 求逆矩阵(一)
- 关于ajaxFileUpload只能上传一次的解决办法
- redis集群实现(三)集群删除节点
- 使用连接mysql的jdbc驱动6.0.6版引发的问题
- 报错*** Error in `python': free(): invalid pointer
- 华为机试汽水瓶问题