函数名:Fun_GetProText
作用: 取得oracle的存储过程脚本
参数: pro_name 存储过程名称。返回值是clob类型。
用法:
select Fun_GetProText('pro_test') from dual;
函数Fun_GetProText如下:
create or replace function Fun_GetProText(pro_name varchar2) return clob is
v_text clob;
cursor c_job is
SELECT text as SQLTEXT
FROM user_source
where lower(name) = lower(pro_name)
and type = 'PROCEDURE';
c_row c_job%rowtype;
begin
v_text := 'CREATE OR REPLACE ';
for c_row in c_job loop
v_text := v_text || c_row.SQLTEXT;
end loop;
return v_text;
end Fun_GetProText;
作用:编译存储过程到数据库:
参数 : pscript clob类型.
存储过程脚本。
用法:
call SP_CreatePro('CREATE OR REPLACE PROCEDURE Pro_Test IS BEGIN delete from stusers where 1<>1; END Pro_Test;');
create or replace procedure SP_CreatePro(pscript in clob)
is
begin
execute immediate pscript;
end SP_CreatePro;