Oracle之带参存储过程(存储过程中for循环调⽤存储过程)⼀段业务代码改编,⼤概意思是搜索指定时间段内的信息,未详细说明业务内容,仅供参考⼏个参数的位置。
--带参存储过程 testdate,参数为v,内部定义参数i
create or replace procedure testdate(v in number) is
i number;
begin
i:=v; --v赋值给i
select EN_ID,EN_NAME,ASA_CODE,ASA_NAME,AS_YESTERDAY,DATEKEEY
from test2table
where datekeey = i;
commit;
end testdate;
--存储过程中for循环调⽤存储过程,testdate2调⽤testdate
create or replace procedure testdate2 is
Cursor datekeey is
select to_number(to_char(datekeey,'yyyyMMdd')) datekeey from (
select date'2017-01-01'+ (rownum -1)  datekeey
from  dual connect by rownum <= (date'2018-09-18'- date'2017-01-01'+1)
); --从2017-01-01到2018-09-18遍历⽇期
i number;
begin
for i in datekeey LOOPoracle手动调用存储过程
begin
testdate(i.datekeey); --调⽤testdate存储过程
end;
end LOOP;
commit;
end testdate2;

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。