当前位置:数据库 > Oracle >>

批量获得oracle存储过程等

批量获得oracle存储过程等
 
同事想把项目组写的存储过程保存下来,不是dump那种,而是可以随时看,每个存储过程以独立文件存放。首先想到的是开发工具PL/SQL developer有保存存储过程的功能,但是批量和筛选功能有限。toad倒是有这方面的功能,但是这些工具不是任何场合就能用的。所以,还是原始的脚本比较可靠…
举例:把datacore用户下所有以CFA或者以AAC开头的存储过程保存到C:\procedures下。
1、创建以下存储过程
create or replace procedure get_procedure is
begin
for x in (select distinct t.name
from all_source t
where t.TYPE = 'PROCEDURE'
and t.owner = 'DATACORE'
AND (t.name like 'ACC%' or t.name like 'CFA%')) loop
dbms_output.put_line('spool C:\procedures\' || x.name || '.sql');
dbms_output.put_line('select text from dba_source t where t.name =''' || x.name || '''' || ';');
dbms_output.put_line('spool off');
end loop;
end;
2、运行存储过程
得到输出结果命令文本
3、设置命令窗口并运行脚本
set pagesize 999999
set fedback off
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,