oracle 游标

declare
TYPE t_cursor IS REF CURSOR;
c_custids t_cursor;
v_Date Date;
v_branchid varchar2(3);
BEGIN
open c_custids for select * From (/*select distinct billingdate,branchid from tb_gos_sale_salestockoutsum where billingdate >to_date('2012-01-01','yyyy-mm-dd')
union */
select distinct billingdate,branchid from tb_gos_sale_salestockinsum where billingdate >to_date('2012-01-01','yyyy-mm-dd')
/* union
select distinct billingdate,branchid from TB_GOS_SALE_SALEPREMIUMsum where billingdate >to_date('2012-01-01','yyyy-mm-dd')*/
) a order by billingdate desc;
loop
fetch c_custids into v_Date,v_branchid;
exit when c_custids%notfound;
dbms_output.put_line(v_Date);
pkg_importdata_day.GetHaveBusiCustDay(to_char(v_Date,'yyyy-mm-dd'),v_branchid);
pkg_importdata_day.GetHaveBusiProdDay(to_char(v_Date,'yyyy-mm-dd'),v_branchid);

end loop;
close c_custids;
END;

 

procedure GetAllCustlongDays(p_branchid in varchar2) is
TYPE t_cursor IS REF CURSOR;
c_custids t_cursor;
v_custid varchar2(20);
BEGIN
open c_custids for select custid from vw_common_cust where branchid=p_branchid;
loop
fetch c_custids into v_custid;
exit when c_custids%notfound;
GetCustlongDays( v_custid,p_branchid);
end loop;
close c_custids;
END;

 

posted @ 2012-12-17 16:52  左少白  阅读(175)  评论(0编辑  收藏  举报