游标循环的使用实例:
procedure testPro(out_retVal out clob) is
v_cnt number(12);
--先查询,游标保存多条记录
cursor cur is
select t.phone_number,t.ext_nbr from Test t
where t.status_cd=0
and ((sysdate - t.send_time) * 24)>1;
begin
v_json := json();
v_cnt :=0;
begin
--循环游标,取出参数
for x in cur loop
v_phone_number :=x.phone_number;
v_ext_nbr :=x.ext_nbr;
--执行要做的事
--记录数量
v_cnt:=v_cnt+1;
end loop;
--如果数量大于0,执行某事件
if v_cnt>0 then
--执行某事件
END IF;
v_json.put('retVal', '完成');
v_json.put('retFlag', 0);
out_retVal := v_json.to_char();
exception
when others then
v_json.put('retVal', 'oracle exception');
v_json.put('retFlag', 2);
out_retVal := v_json.to_char();
end;