utl_file学习
来源:互联网 发布:怎么着亚马逊数据 编辑:程序博客网 时间:2024/04/29 22:59
1.建立目录
SQL>create or replace directory AA as "e/sql";
2.查看所建目录
SQL > select * from DBA_directories;
3.读取数据
declare
fhandle utl_file.file_type;
strsql varchar2(100);
strsql1 varchar2(4000);
i int := 0;
begin
fhandle := utl_file.fopen('SQLDIRECTORY','11.sql','R');
loop
begin
utl_file.get_line(fhandle,strsql);
execute immediate strsql;
i := i + 1;
dbms_output.put_line(i||strsql);
strsql1 := strsql1||strsql;
exception
when no_data_found then
exit;
-- dbms_output.put_line(strsql);
end;
end loop;
utl_file.fclose(fhandle);
dbms_output.put_line(strsql1);
end;
4.写入数据
SQL> declare
2 fhandle utl_file.file_type;
3 begin
4 fhandle := utl_file.fopen('UTL_FILE_DIR', 'example.txt', 'w');
5 utl_file.put_line(fhandle , 'eygle test write one');
6 utl_file.put_line(fhandle , 'eygle test write two');
7 utl_file.fclose(fhandle);
8 end;
9 /
CSDN上的实例
1、修改系统参数utl_file_dir,指向你服务器存储csv文件的目录。
sql>alter system set utl_file_dir='c:/temp' scope=spfile;
2、重启数据库使参数生效。
3、生成一个测试的文件test.csv,放入服务器c:/temp,文件内容如下:
- SQL code
- 1,zhang shan2,li shi3,wang wu4、创建一个存储csv数据的表testcsv。sql>create table testcsv(id number,name varchar2(20));5、创建一存储过程readcsvCREATE OR REPLACE PROCEDURE readcsv(i_filename VARCHAR2) IS f utl_file.file_type; buf VARCHAR2(200); v_id pls_integer; v_name varchar2(20); FUNCTION getStrByPos(i_str VARCHAR2, i_pos PLS_INTEGER) RETURN VARCHAR2 IS item VARCHAR2(200); str VARCHAR2(200); BEGIN str := ',' || i_str || ','; FOR i IN 1 .. length(str) - length(REPLACE(str, ',')) - 1 LOOP item := substr(str, instr(str, ',', 1, i) + 1, instr(str, ',', 1, i + 1) - instr(str, ',', 1, i) - 1); EXIT WHEN i = i_pos; END LOOP; RETURN item; END;BEGIN f := utl_file.fopen('c:/temp', i_filename, 'R'); LOOP BEGIN utl_file.get_line(f, buf); v_id := getStrByPos(buf, 1); v_name := getStrByPos(buf, 2); INSERT INTO testcsv VALUES (v_id, v_name); EXCEPTION WHEN no_data_found THEN EXIT; END; END LOOP; COMMIT; utl_file.fclose(f);END;
6、执行存储过程
sql>execute readcsv('test.csv');
- utl_file学习
- UTL_FILE 学习
- UTL_FILE 实例学习
- UTL_FILE
- utl_file
- utl_file
- UTL_FILE
- oracle中utl_file包读写文件操作学习
- Oracle UTL_FILE
- UTL_FILE详解
- UTL_FILE 包
- UTL_FILE.FOPEN
- utl_file包
- UTL_FILE.FOPEN
- plsql学习范例--使用utl_file包将查询结果输出到文件中
- utl_file包的应用
- utl_file使用总结
- Oralce的utl_file
- 思科称有意收购容管理软件系统ExtendMedia
- MAC OS X(ten)使用体验
- Vs 2008 解决方案的目录结构设置和管理
- 在vs2005下的第一个OpenGL程序
- 没有银弹
- utl_file学习
- 学习 WCF (2)--开发WCF服务
- applicationContext.xml 的位置问题
- Linux系统的内存管理机制学习
- 每行中自动加个序列号
- 有关于css的clear属性
- renren
- web设计的中文排版(主要是文字和字体)
- 让XP不再越用越慢