create or replace package pkg_test as
procedure main;
function a return boolean;
procedure b;
procedure c;
end pkg_test;
/
包体包含以下函数/过程:
create or replace package body pkg_test as
procedure main is
begin
if a then -- if someone was hired today execute procedure B
b;
else
c; -- else, execute procedure C
end if;
end main;
function a return boolean
is
l_cnt number;
begin
-- are there any employees hired today?
select count(*)
into l_cnt
from emp
where hiredate = trunc(sysdate);
return l_cnt > 0; -- return TRUE if someone was hired today
end a;
procedure b is
begin
insert into log_emp (datum, flag) values (trunc(sysdate), 'Y');
end b;
procedure c is
begin
update log_emp set
flag = 'N'
where datum = trunc(sysdate) - 1;
end c;
end pkg_test;
/
1条答案
按热度按时间esbemjvw1#
你所描述的看起来像是一个很好的候选包,其中包含了许多当前包含在其中的函数/过程。SQL文件。
您可以将每个文件中的代码放入其自己的过程中,并创建一个“主”过程,该过程将按一定的顺序调用它们。就像这样:
软件包规范包含所有功能/程序的列表:
包体包含以下函数/过程:
最后,你只需要打个电话
让它发挥作用当然,您可以/应该改进我为说明目的编写的简单代码--添加日志记录、异常处理等等。更好的是,您甚至可以计划该过程在所需的时间自动运行(例如,在凌晨2点),您只需查看早上正在做的事情。
从我的Angular 来看,这是一个更好的选择比运行的数量。SQL文件。