declare cursor o is select distinct to_char(report_date,'yyyymmdd') report_date from My_test_DAY_REPORT where report_date >=to_date(20130501,'yyyymmdd') order by 1; riqi o%rowtype; begin open o; loop fetch o into riqi; exit when o%notfound; dbms_output.put_line(riqi.report_date); delete from tmp_no_rijie where run_date=to_date(riqi.report_date, 'yyyymmdd'); commit; insert into tmp_no_rijie select t1.org_code , t1.org_name , t1.org_type_id , t1.org_type_name , t1.sup_org_code , t2.org_name , t1.usable , to_date(riqi.report_date, 'yyyymmdd') from sys_org t1, (select org_name, org_code from sys_org) t2 where org_type_id = 18 and usable = 1 and t1.sup_org_code = t2.org_code and t1.org_code in (130002, 150002, 150057, 150059, 150058, 140023, 140001, 110001, 170006, 170002, 180003, 140024) and t1.org_code not in (select org_code from My_test_DAY_REPORT WHERE report_date = to_date(riqi.report_date, 'yyyymmdd')); commit; end loop; close o; end; /
select run_date as 日期,org_code as 组织,org_name as 组织名,'未做日结' from tmp_no_rijie order by 1;
oracle pl_sql 通过游标循环取数字的方法