我有这个select语句,显示 pl / sql脚本的文本(内容):
select text
from DBA_source
where type like '%PROCEDURE%' and name like '%JOB_HISTORY%'
order by line;
我希望将其转换为存储过程,以便“' name' select语句的条件应该作为输入,不应该预先定义为显示像%job_history%。
如何做到这一点?
答案 0 :(得分:1)
这是一个函数,而不是存储过程:
create type proc_tab is table of DBA_source.text%type;
/
create function select_procedure(p_name in film.title%type) return proc_tab
is
l_proc_tab proc_tab := proc_tab();
n integer := 0;
begin
select text
bulk collect into l_proc_tab
from DBA_source
where type like '%PROCEDURE%' and name like '%' || p_name || '%'
order by line;
return l_proc_tab;
end;
/
我还没有测试过这段代码,但至少应该是一个好的开始。