创建 directory
Create or replace directory FILEPATH AS 'c:/temp/';
create or replace procedure SP_WRITEFILE is
Out_file UTL_FILE.file_type;
protext varchar2(4000);
proname varchar2(30);
oldproname varchar2(30);
cursor mycursor is select b.name,b.text from DBA_OBJECTS a ,DBA_SOURCE b where a.object_name = b.name and a.object_type='PROCEDURE' and a.owner='SYS' order by b.name,b.line;
begin
open mycursor;
oldproname:=' ';
loop
fetch mycursor into proname,protext;
if (proname!=oldproname )then
if(oldproname !=' ') then
UTL_FILE.fclose(Out_file);
end if;
Out_file:=UTL_FILE.fopen('FILEPATH',proname||'.sql','W');
end if;
UTL_FILE.putf(Out_file,protext);
oldproname:=proname;
exit when mycursor%notfound;
end loop;
UTL_FILE.fclose(Out_file);
return;
Oracle存储过程导出文件
本文介绍了一种使用Oracle存储过程将数据库中的过程导出到指定路径下的.sql文件的方法。此过程通过创建目录并利用游标遍历DBA_SOURCE视图来实现,能够将每个过程的名称和内容写入单独的文件。
8555

被折叠的 条评论
为什么被折叠?



