补全aaz288 可能有问题的过程:
1 /* 2 add by weiyongle 20160623 3 失地农民补足aaz288,针对早期导出的数据(只适用于江安县) 4 经测试:江安县 江安县个体劳动者 这个单位一共2194人,成功修复 2166条 5 */ 6 PROCEDURE P_COMPL_AAZ288(PI_DRPH IN VARCHAR2, 7 PO_FHZ OUT VARCHAR2, 8 PO_MSG OUT VARCHAR2) IS 9 10 V_CNT_IC51 NUMBER(2); 11 V_CNT_IC5152_TEMP_ NUMBER(2); 12 V_AAZ288 IC51.AAZ288%TYPE; 13 -- 该表 sjql_aac002_tmp 数据 是在 过程 p_compl_aaz288 中插入的数据(根据导入批次号caz005) 14 CURSOR C_LINSHI_ IS 15 SELECT * FROM SJQL_AAC002_TMP A WHERE A.CAZ005 = PI_DRPH; 16 CURSOR C_IC5152_TEMP_ IS 17 SELECT * FROM IC5152_TEMP_ A WHERE A.CAZ005 = PI_DRPH; 18 CURSOR C_IC51 IS 19 SELECT * 20 FROM IC51 A 21 WHERE A.AAC001 IN 22 (SELECT AAC001 FROM SJQL_AAC002_TMP B WHERE B.CAZ005 = PI_DRPH) 23 AND A.BAE001 = '511523'; 24 BEGIN 25 -- 初始化 26 PO_FHZ := '1'; 27 PO_MSG := 'pkg_sp3_sdnmsjql.p_compl_aaz288补全aaz288成功:'; 28 FOR V_CUR IN C_IC5152_TEMP_ LOOP 29 SELECT COUNT(1) 30 INTO V_CNT_IC51 31 FROM IC51 A 32 WHERE A.AAC001 = V_CUR.AAC001 33 AND A.AAE016 = '1' 34 -- altered by weiyongle 20160722 临时增加 35 AND A.AAE013 LIKE '%导入%' 36 and rownum = '1' 37 -- AND A.AAE013 LIKE '%导入%' 38 ; 39 SELECT COUNT(1) 40 INTO V_CNT_IC5152_TEMP_ 41 FROM IC5152_TEMP_ A 42 WHERE A.AAC001 = V_CUR.AAC001 43 and a.caz005 = PI_DRPH; 44 -- 如果ic51只有一条 且 导出的excel数据也是一条,那么就认为这两条记录关联,然后对aaz288进行补全 45 IF V_CNT_IC51 = V_CNT_IC5152_TEMP_ AND V_CNT_IC51 = 1 THEN 46 SELECT AAZ288 47 INTO V_AAZ288 48 FROM IC51 49 WHERE AAC001 = V_CUR.AAC001 50 AND AAE016 = '1' 51 -- add by weiyongle 20160722 临时增加 52 AND AAE013 LIKE '%导入%' 53 and rownum = '1' 54 -- AND AAE013 LIKE '%导入%' 55 ; 56 UPDATE IC5152_TEMP_ A 57 SET A.AAZ288 = V_AAZ288 58 WHERE AAC001 = V_CUR.AAC001; 59 -- 没有修复成功的 查询语句 select * from IC5152_TEMP_ where aaz288 is null; 60 END IF; 61 END LOOP; 62 EXCEPTION 63 WHEN NO_DATA_FOUND THEN 64 PO_FHZ := 'pkg_sp3_sdnmsjql.p_compl_aaz288_99'; 65 PO_MSG := '失地农民数据清理导入保存异常:' || SQLERRM; 66 RETURN; 67 END;