作者:
lōττéry©版权所有[文章允许转载,但必须以链接方式注明源地址,否则追究法律责任.]
注释:
工作中有需要将线上数据导出到excel给客户分析/查看的情况,如下是方法介绍情况:
方法 | 1分钟导出的数据量 | 适用于 |
utl_file读写文件包 | 300万 | 大量导出时 |
plsql developer->export query result | 10万 | 小量导出时 |
excel连接数据库 | 1万 | |
spool 循环打印 | 5000 | |
--excel 最大行数1048576
方案一、利用utl_file导出.csv文件.
--.csv逗号分隔值
格式
文件,可用excel工具打开,显示格式和excel一样..
点击(此处)折叠或打开
- DECLARE
- VSFILE UTL_FILE.FILE_TYPE; --定义用于接收文件句柄的类型
- V_CNT NUMBER; --统计每个文件加载行数
- --字段列表
- P_CONTENT_DATE VARCHAR2(4000);
- P_LOCNO VARCHAR2(4000);
- P_CELL_NO VARCHAR2(4000);
- P_ITEM_NO VARCHAR2(4000);
- P_SIZE_NO VARCHAR2(4000);
- P_QTY VARCHAR2(4000);
- BEGIN
- --DBMS_OUTPUT.ENABLE(1000000); -->避免报错ORA-20000: ORU-10027: BUFFER OVERFLOW, LIMIT OF 10000 BYTES
-
- --文件命名规则..把表数据时间当做文件命名...
- FOR FILE_NAME