扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
在存储过程中,我们经常会使用dbms_output来输出一些调试信息到控制台,方便查看。在使用PLSQL DEV的过程中,经常会遇到缓冲区太小的情况,如果你要显示的内容比较多的话。这个时候我们可以使用oracle提供的UTL_FILE包来实现将这些信息输出到一个文本文件中。
丛台ssl适用于网站、小程序/APP、API接口等需要进行数据传输应用场景,ssl证书未来市场广阔!成为成都创新互联的ssl证书销售渠道,可以享受市场价格4-6折优惠!如果有意向欢迎电话联系或者加微信:028-86922220(备注:SSL证书合作)期待与您的合作!
操作说明
创建一个目录(需要管理员权限)
注意:这里创建的目录是创建在oracle服务器上,在执行上述SQL后,需要手动建立相关目录,否则使用时会报错。
授权给使用存储过程的用户
存储过程中使用
Oracle怎么导出存储过程网友分享于:2014-02-26浏览:115次Oracle如何导出存储过程昨天使用exp可以导出oracle数据库表,今天说下怎么导出存储过程。首先看下使用pl/sql怎么导出存储过程。导出步骤:tools--ExportUs
略微复杂,需要存储过程实现。
1、创建输出路径,比如你要在d盘test目录下输出,你就先在d盘根目录下建立一个test的目录。
2、sqlplus下以sysdba登录,执行以下语句
create or replace directory TMP as 'd:\test';
grant read,write on directory TMP to scott; --比如我用的scott用户
alter system set utl_file_dir='d:\test' scope=spfile;
3、以上步骤执行完,需要重启数据库。
4、创建一个存储过程,代码如下(基本是不用改动,原封复制即可):
CREATE OR REPLACE PROCEDURE SP_OUTPUT_PROCEDURE is
file_handle utl_file.file_type;
Write_content VARCHAR2(1024);
Write_file_name VARCHAR2(50);
v_name varchar2(50);
v_text varchar2(2000);
cursor cur_procedure_name is
select distinct name from user_source where type = 'PROCEDURE';
cursor cur_sp_out is
select t.text
from (select 0 line, 'CREATE OR REPLACE ' text
from dual
union
select line, text
from user_source
where type = 'PROCEDURE'
and name = v_name) t
order by line;
begin
open cur_procedure_name;
loop
fetch cur_procedure_name
into v_name;
exit when cur_procedure_name%notfound;
write_file_name := v_name || '.txt';
open cur_sp_out;
loop
fetch cur_sp_out
into v_text;
exit when cur_sp_out%notfound;
file_handle := utl_file.fopen('TMP', write_file_name, 'a');
write_content := v_text;
--write file
IF utl_file.is_open(file_handle) THEN
utl_file.put_line(file_handle, write_content);
END IF;
--close file
utl_file.fclose(file_handle);
end loop;
close cur_sp_out;
end loop;
close cur_procedure_name;
end;
5、创建完毕执行存储过程,这个就不赘述了,执行完毕后,你会发现d盘test目录下的文件名就是以存储过程名命名的txt文件,如图:
6、里边内容(就是存储过程创建时的代码,可能排版看着难看点,但是不影响使用):
1、打开oracle数据库,点击登陆选项,点击文件选项,点击新建选项,最后点击sql窗口;
2、然后在sql窗口中进行编写sql语句的操作,勇sql语句进行查询出想要导出来的数值;
3、然后在查询出来数据的地方,不要选中数据,把鼠标放到空白单元格处进行鼠标右键操作,找到复制到Excel选项;
4、然后在复制到excel中选择想要保存的格式--作为xls保存,打开后则是excel形式的数据;
5、默认的保存路径--将鼠标放在excel名称上--会出现路径--根据路径打开即可。
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流