oracle存储过程导出scv文件
最近研究oracle存储过程导出excel文件,但是还没有实现分sheet页,还在继续研究;
oracle的utl_file包访问文件,必须设置文件访问路径,配置方法如下:
1、alter system set utl_file_dir='e:\utl' scope=spfile;
2、在init.ora文件中,配置如下: UTL_FILE=E:\utl或者UTL_FILE_DIR=E:\utl
SQL> alter system set utl_file_dir='/u01/app/oracle' scope=spfile;
System altered.
SQL> startup force;
SQL> show parameter utl_file
到出SQL存储过程如下:
create or replace procedure sql_to_csv(p_query in varchar2, -- plsql文p_dir in varchar2, -- 导出的文件放置目录p_filename in varchar2, -- csv名p_header in varchar2 --表头) isl_thecursor integer default dbms_sql.open_cursor;l_colcnt number := 0;l_separator varchar2(2) := ',';l_desctbl dbms_sql.desc_tab;p_max_linesize number := 32000;lv_sql varchar2(32000);
beginexecute immediate 'alter session set nls_date_format=''yyyymmdd hh24:mi:ss''';lv_sql := 'declarel_output utl_file.file_type;l_row varchar2(32000) := null;cursor c is ' || p_query || ';type tp_rows is table of c%rowtype index by pls_integer;r tp_rows;
beginl_output := utl_file.fopen(''' || p_dir || ''', ''' ||p_filename || '.csv'', ''w'', ' || p_max_linesize || ');utl_file.put_line(l_output,''' || p_header ||''');open c;loopfetch c bulk collect into r;for i in 1..r.count loopl_row := ';dbms_sql.parse(l_thecursor, p_query, dbms_sql.native);dbms_sql.describe_columns(l_thecursor, l_colcnt, l_desctbl);for i in 1 .. l_colcnt loopif i > 1 thenlv_sql := lv_sql || ' || ''' || l_separator || ''' || ';end if;lv_sql := lv_sql || 'r(i).' || l_desctbl(i).col_name;end loop;dbms_sql.close_cursor(l_thecursor);lv_sql := lv_sql || ';utl_file.put_line(l_output,l_row,true);end loop;exit when c%notfound;end loop;close c;utl_file.fclose( l_output );
exceptionwhen others thenutl_file.fclose( l_output );dbms_output.put_line(dbms_utility.format_error_backtrace);raise;
end;';dbms_output.put_line(lv_sql);execute immediate lv_sql;-- utl_file.fremove(p_dir,to_char(sysdate,'yyyymmdd_')|| p_filename||'.csv');-- utl_file.frename(p_dir,p_filename||'.tmp',p_dir,to_char(sysdate,'yyyymmdd_')|| p_filename||'.csv');end;
oracle存储过程导出scv文件相关推荐
- oracle中xml如何存储过程,oracle存储过程生成xml文件
oracle存储过程生成xml文件 CREATE OR REPLACE PROCEDURE Pro_OracleToXML(personid varchar2,name varchar2,addres ...
- Oracle导入导出dmp文件步骤
Oracle导入导出dmp文件步骤 加粗部分需按需改变,导入时的表空间名与导出前一致 导出dmp文件 第一步在sqlplus中运行: 第二步,在第一步运行完后,将查询出的结果都执行一遍 第三步打开电脑 ...
- Oracle EBS 导出EXCEL文件CSS样式应用
Oracle EBS 导出EXCEL文件CSS样式应用 在css中加入:mso-number-format定义数据格式,格式可以在excel中查看自定义格式,具体可以参考一下: mso-number- ...
- linux服务器oracle数据库导出dmp文件功能演示,备份数据库命令。exp命令显示command not found解决方法,EXP-00028: 无法打开dmp进行写入问题解决
默认需要切 oracle 用户才可以用,命令su - oracle. 直接用 exp 命令会显示 command not found nctest205:~ # exp ncc_auto_0513/1 ...
- oracle存储过程导出查询结果,ORACLE如何实现函数、包、存储过程的导入和导出
建 议可以用常规的检查,检查一下:数据字典信息/exp 导出结构检查 1.检查 SELECT * FROM ALL_SOURCE t WHERE T.OWNER = '要查询用户' AND t.TYP ...
- Oracle如何导出dmp文件
一:拥有oracle用户和密码 导出dmp文件 进入目录:/home/oracle/20181021 执行命令: exp 导入数据库用户名/密码 file=导出的dmp文件 log=日志名称 owne ...
- oracle 导入导出dum文件
dmp文件导出 dmp文件导出用的比较多的一般是三种,他们分别是:导出整个数据库实例下的所有数据.导出指定用户的所有表.导出指定表. 这里已我的数据库为例,进行介绍,我的Oracle数据库实例为&qu ...
- oracle导入导出DMP文件【整个步骤】
一.导入 1.创建表空间 //DDTECH表空间名称 create tablespace DDTECH datafile 'E:\app\oracle\oradata\DDTECH\TABLESPAC ...
- oracle 存储过程导出sql语句 导出为文件
//使用方法 sql> 输入如↓注意文件写入权限 SET echo off; SET heading off; SET feedback off; spool /home/oracle/temp ...
- oracle脚本导出数据文件
1.首先在服务器上创建目录,以目录/user/mt_data/为例,服务器上执行:mkdir mt_data 2.把目录对oracle用户授予执行的权限 chown -R oracle:oinstal ...
最新文章
- 洛谷1527(bzoj2738)矩阵乘法——二维树状数组+整体二分
- delphi 读取ini所有项_财务机器人真的会代替财务人员所有工作吗?
- Python爬取B站5000条视频,揭秘为何千万人看「哪吒」流泪
- 管状合金电阻和片状合金电阻的区别_合金采样电阻的特点及作用
- easyui tree复选框是否打钩状态_原创深度:如何利用OpenVINO工具套件监控机器操作员情绪状态(一)...
- 思科模拟器Cisco Packet Tracer的下载与安装
- 聚合架构-晓岩企业架构系列讲座整理(0-19)
- 【附源码】Java计算机毕业设计校园博客系统(程序+LW+部署)
- Java开发中常见的危险信号(下)
- 力扣707设计链表(单链表,JavaScript)
- ⑪(面试篇 2/3)、《史上最全iOS八股文面试题》2022年,金三银四我为你准备了,iOS《1000条》笔试题以及面试题(包含答案)。带面试你过关斩将,(赶紧过来背iOS八股文)
- 使用MMD模型通过Kivicube平台制作WebAR与小程序AR
- 服务器与普通电脑之间的区别是什么?
- 印度尼西亚通过加密货币期货交易规则
- 投资收购微盟、博易智软后,要做中国Salesforce+ Palantir的天马股份再发智能商业π型战略
- C语言:编程计算π的近似值(直到最后一项的绝对值小于10-5为止),要求保留小数点后10位。
- 深入解析:如何修复SSL / TLS握手失败错误(上)
- 如何委婉的发短信拒绝老师的offer
- 代码随想录训练营day36
- 屏幕“眩光”问题或得缓解,科学家研究出类似飞蛾眼睛结构的薄膜