Oracle自动导出并存储为txt数据文件(存储过程)
来源:互联网 发布:男士脸型与发型知乎 编辑:程序博客网 时间:2024/06/10 20:19
**自动保存txt数据文件存储过程**
create or replace directory MY_DIR_MOBILE as ‘E:\DATA\’;
grant read,write on directory MY_DIR_MOBILE to zysms;–授权给zysms用户
select * from dba_directories;
查询结果:1 SYS ORACLE_OCM_CONFIG_DIR D:\app\Administrator\product\11.2.0\dbhome_1/ccr/state2 SYS DATA_PUMP_DIR D:\app\Administrator/admin/orcl/dpdump/3 SYS MY_DIR_MOBILE E:\DATA\4 SYS XMLDIR c:\ade\aime_dadvfh0169\oracle/rdbms/xml
使用utl_file写出文件,通过查询库中内容,写出到指定服务器路径下,总体过程如下:
(1)通过UTL_FILE.FOPEN方法找到对应路径,创建文件,并且给出写入规则。
(2)通过UTL_FILE.PUT_LINE方法向文件中写入内容(UTL_FILE.PUT_LINE写入VARCHAR2类型数据,UTL_FILE.PUT_RAW方法是写入RAW类型的数据,一般来说RAW容量更大,用的更加广泛),这里由于ORACLE有长度限制,一般采用循环方式分批写入。
(3)写入完成后,通过UTL_FILE.FCLOSE方法关闭文件,结束写出。
CREATE OR REPLACE PROCEDURE Mobile_Write_Txt IS export_mobile UTL_FILE.file_type; strs_sql varchar(60); strs_yymmdd varchar2(20);----当前时间格式2017-11-26 var_sql varchar(60); var_yymmdd varchar2(20);----加一天时间格式2017-11-27 BEGIN strs_sql:='select to_char(sysdate,'||'''yyyy-mm-dd'''||')from dual'; var_sql:='select to_char(sysdate+1,'||'''yyyy-mm-dd'''||')from dual'; execute immediate strs_sql into strs_yymmdd;----时间格式2017-11-26 execute immediate var_sql into var_yymmdd;----加一天时间格式2017-11-27 export_mobile := UTL_FILE.FOPEN('MY_DIR_MOBILE', strs_yymmdd||'.txt', 'w');--定义写入规则 UTL_FILE.PUT_LINE(export_mobile,'MSISDN');--MSISDN为msg_details字段名,多个字段时使用英文逗号','隔开 FOR x IN (select t.msisdn from msg_details t where t.sendtime>to_date('2017-11-26 00:00:00','yyyy-MM-dd hh24:mi:ss')and t.sendtime<to_date('2017-11-27 00:00:00','yyyy-MM-dd hh24:mi:ss')) LOOP UTL_FILE.PUT_LINE(export_mobile,x.msisdn); END LOOP; UTL_FILE.FCLOSE(export_mobile);--写入完成关闭 EXCEPTION WHEN OTHERS THEN DBMS_OUTPUT.PUT_LINE(SUBSTR(SQLERRM, 1, 2000));END;
阅读全文
0 0
- Oracle自动导出并存储为txt数据文件(存储过程)
- 使用Oracle存储过程导入导出数据文件
- 把ORACLE的存储过程导出来到txt
- Oracle导出存储过程
- oracle自动导出Function、procedure等存储过程;
- oracle自动导出Function、procedure等存储过程;
- oracle数据表结构和存储过程导出为word文档
- 导出oracle数据库存储过程
- Oracle批量导出存储过程
- 表空间监控和自动添加数据文件存储过程
- sql server导出为dbf 存储过程:
- SqlServer 使用存储过程 导出为Excel
- ORACLE表结构与存储过程导出
- oracle导出表insert语句存储过程
- oracle存储过程实现导出表结构
- Oracle导出sql语句存储过程
- PL/SQL developer导出oracle存储过程
- ORACLE导出存储过程SQL至文件
- 1042. Shuffling Machine (20)
- 约瑟夫问题,“遍历”思想.(C语言实现)
- 《电路计算C++与MATLAB》学习笔记(二)
- CSS的类选择器
- 数据结构——树
- Oracle自动导出并存储为txt数据文件(存储过程)
- 洛谷p1162 填涂颜色
- 链式存储结构线性表
- 堆与堆排序
- 2年Java开发工作经验面试总结
- queue和priority_queue
- Mvp+Okhttp+Event 传值
- dedecms模板中dedeajax2.js导致网页无法打开
- Java charAt() 方法