1 declare
2 v_XTXMBH number;
3 v_ZJZJZJRQ varchar2(40);
4 cursor c_job is
5 SELECT XT.XTXMBH AS XTXMBH, QJ.ZJZJZJRQ AS ZJZJZJRQ
6 FROM XTXMXX XT, QJGLXX_ZQL_MID QJ
7 WHERE XT.XTXMBH = QJ.XTXMBH
8 AND XT.XTXMCLRQ >= '20120630'
9 AND (QJ.ZJQHZJRQ IS NULL OR QJ.ZJZJZJRQ IS NULL);
10 c_row c_job%rowtype;
11 begin
12 for c_row in c_job loop
13 v_XTXMBH:=c_row.XTXMBH;
14 v_ZJZJZJRQ:=c_row.ZJZJZJRQ;
15 IF (v_XTXMBH IS NOT NULL OR v_XTXMBH<>'') THEN
16 if (v_ZJZJZJRQ IS NULL OR v_ZJZJZJRQ='') then
17 --UPDATE ZJ
18 UPDATE QJGLXX_ZQL_MID T
19 SET T.ZJZJZJRQ = '20000101', T.ZJZJZJJE = 0, T.LJZJZJJE = 0
20 WHERE T.XTXMBH=v_XTXMBH;
21 else
22 --UPDATE QH
23 UPDATE QJGLXX_ZQL_MID T
24 SET T.ZJQHZJRQ = '20000101', T.ZJQHZJJE = 0, T.LJQHZJJE = 0
25 WHERE T.XTXMBH=v_XTXMBH;
26 end if;
27 END IF;
28 end loop; --循环结束
29 commit; --提交处理后数据
30 end;