编写存储过程导出oracle表数据到多个文本文件
2024-09-26 15:24:24
1、测试表和数据:
create table test(id int , s varchar2()); begin
for k in .. loop
insert into test values(k,'test'||k);
end loop;
end;
/
2、在本地创建一个目录,如D:/myoracledata
在sql plus中执行如下语句
create or replace directory MY_DIR as 'D:/myoracledata';
3、在sql plus中执行如下脚本。下面代码是 100行换一个文件,文件名前缀为data
declare
row_result varchar2();
selectsql varchar2();
qrycursor SYS_REFCURSOR;
txt_handle UTL_FILE.file_type;
filenum number;
num number;
MAX_NUM number;
FILENAME_PREFIX varchar2();
BEGIN
MAX_NUM:=;
FILENAME_PREFIX:='data';
filenum:=;
num:=;
selectsql := ' select id||'',''||s from test';
txt_handle := UTL_FILE.FOPEN('MY_DIR','data'||filenum||'.txt','w');
open qrycursor for selectsql;
loop
fetch qrycursor into row_result;
exit when qrycursor%notfound;
UTL_FILE.PUT_LINE(txt_handle,row_result);
num:=num+;
if num=MAX_NUM then
filenum:=filenum+;
UTL_FILE.FCLOSE(txt_handle);
txt_handle := UTL_FILE.FOPEN('MY_DIR',FILENAME_PREFIX||filenum||'.txt','w');
num:=;
end if;
end loop;
close qrycursor;
UTL_FILE.FCLOSE(txt_handle);
end;
/
最新文章
- 手持移动扫描终端 PDA移动开单系统-批发零售管理
- http协议相关-待续
- JPA in Spring
- host_network_interfaces_slow_mode_thresholds
- 搭建linux系统环境
- effective c++:virtual函数的替代方案
- UVA 11183 Teen Girl Squad 最小树形图
- FZU 2237 中位数 主席树 树上k大
- StarUML启动时候出现";System Error. Code:1722. RPC服务器不可用.";错误的解决办法
- 一个读取propeties配置文件的工具类,线程安全的
- ACdream群赛1112(Alice and Bob)
- OOP 创建对象的7种方式
- 流畅的python学习笔记:第三章
- JAVA_SE基础——21.二维数组的定义
- lua 序列化函数
- linux 安装python3
- bootstrap,bootstrap-table,bootstrapValidator,animate,layer配合起来搞事情
- 命名空间";xx";已经包含了";xx";的定义
- .Net Core+Angular6 学习 第三部分(从api获取data)
- 【Windows】+ windows下在某一文件夹下按“shift+鼠标右键”打开CMD窗口