CREATE OR REPLACE PROCEDURE SP_SF_ZYRB00_TJ0000_NEW ( as_TJRQ00 IN CHAR, --开始日期 AD_ID0000 IN OUT CHAR --统计报表对应的ID ) as ls_KDKS00 BM_BMBM00.BMBH00%TYPE; --昨天日期 ls_SJ0000 BM_KSSRTJ.SJ0001%TYPE; --昨天日期 ls_BZ0000 BM_KSSRTJ.BZ0000%TYPE; ls_ZXKS00 BM_BMBM00.BMBH00%TYPE; ls_JE0000 SF_BRFY00.HJJE00%TYPE; ls_KDYS00 BM_YGBM00.YGBH00%TYPE; ls_MZFPID BM_FPXM00.FPXMID%TYPE; ls_ZLXMID BM_ZLZD00.ZLXMID%TYPE; ls_TJRQ00 VARCHAR2(10); V_params VARCHAR(255); --*****************************原有病人数 ***************************** CURSOR CUR_SF_ZYRB00_SJ0001 IS SELECT BQH000,COUNT(DISTINCT A.ZYID00) SJ0000,'0' BZ0000 FROM BQ_BRLDXX A,ZY_BRXXB0 B WHERE A.ZYID00=B.ZYID00 AND A.YXBZ00='1' AND A.QSZT00 IN('新入' ,'转入') AND A.QSRQ00 <=ls_TJRQ00 AND BQJSRQ > ls_TJRQ00 AND NOT EXISTS(SELECT 1 FROM BM_CWK000 WHERE A.BQH000=BQH000 AND CH0000=A.CH0000 AND BQH000=251 AND ch0000 between '小儿01' and '小儿60') GROUP BY BQH000 UNION ALL SELECT BQH000,COUNT(DISTINCT A.ZYID00) SJ0000,'1' BZ0000 FROM BQ_BRLDXX A,ZY_BRXXB0 B WHERE A.ZYID00=B.ZYID00 AND A.YXBZ00='1' AND A.QSZT00 IN('新入' ,'转入') AND A.QSRQ00 <=ls_TJRQ00 AND BQJSRQ > ls_TJRQ00 AND EXISTS(SELECT 1 FROM BM_CWK000 WHERE A.BQH000=BQH000 AND CH0000=A.CH0000 AND BQH000=251 AND ch0000 between '小儿01' and '小儿60') GROUP BY BQH000; --******************************入院人数 ****************************** CURSOR CUR_SF_ZYRB00_SJ0002 IS SELECT BQH000,COUNT(DISTINCT A.ZYID00) SJ0000,'0' BZ0000 FROM BQ_BRLDXX A,ZY_BRXXB0 B WHERE A.ZYID00=B.ZYID00 AND A.YXBZ00='1' AND A.QSZT00 IN('新入' ) AND A.QSRQ00 =as_TJRQ00 AND NOT EXISTS(SELECT 1 FROM BM_CWK000 WHERE A.BQH000=BQH000 AND CH0000=A.CH0000 AND BQH000=251 AND ch0000 between '小儿01' and '小儿60') GROUP BY BQH000 UNION ALL SELECT BQH000,COUNT(DISTINCT A.ZYID00) SJ0000,'1' BZ0000 FROM BQ_BRLDXX A,ZY_BRXXB0 B WHERE A.ZYID00=B.ZYID00 AND A.YXBZ00='1' AND A.QSZT00 IN('新入' ) AND A.QSRQ00 =as_TJRQ00 AND EXISTS(SELECT 1 FROM BM_CWK000 WHERE A.BQH000=BQH000 AND CH0000=A.CH0000 AND BQH000=251 AND ch0000 between '小儿01' and '小儿60') GROUP BY BQH000; --******************************转入人数 ****************************** CURSOR CUR_SF_ZYRB00_SJ0003 IS SELECT BQH000,COUNT(A.ZYID00) SJ0000,'0' BZ0000 FROM BQ_BRLDXX A,ZY_BRXXB0 B WHERE A.ZYID00=B.ZYID00 AND A.YXBZ00='1' AND A.QSZT00 IN('转入' ) AND A.QSRQ00 =as_TJRQ00 AND NOT EXISTS(SELECT 1 FROM BM_CWK000 WHERE A.BQH000=BQH000 AND CH0000=A.CH0000 AND BQH000=251 AND ch0000 between '小儿01' and '小儿60') GROUP BY BQH000 UNION ALL SELECT BQH000,COUNT(A.ZYID00) SJ0000,'1' BZ0000 FROM BQ_BRLDXX A,ZY_BRXXB0 B WHERE A.ZYID00=B.ZYID00 AND A.YXBZ00='1' AND A.QSZT00 IN('转入' ) AND A.QSRQ00 =as_TJRQ00 AND EXISTS(SELECT 1 FROM BM_CWK000 WHERE A.BQH000=BQH000 AND CH0000=A.CH0000 AND BQH000=251 AND ch0000 between '小儿01' and '小儿60') GROUP BY BQH000; --******************************出院合计 ****************************** CURSOR CUR_SF_ZYRB00_SJ0004 IS SELECT BQH000,COUNT(DISTINCT A.ZYID00) SJ0000,'0' BZ0000 FROM BQ_BRLDXX A,ZY_BRXXB0 B WHERE A.ZYID00=B.ZYID00 AND A.YXBZ00='1' AND a.JSZT00 in('出院') AND A.JSRQ00 =as_TJRQ00 AND NOT EXISTS(SELECT 1 FROM BM_CWK000 WHERE A.BQH000=BQH000 AND CH0000=A.CH0000 AND BQH000=251 AND ch0000 between '小儿01' and '小儿60') GROUP BY BQH000 UNION ALL SELECT BQH000,COUNT(DISTINCT A.ZYID00) SJ0000,'1' BZ0000 FROM BQ_BRLDXX A,ZY_BRXXB0 B WHERE A.ZYID00=B.ZYID00 AND A.YXBZ00='1' AND a.JSZT00 in('出院') AND A.JSRQ00 =as_TJRQ00 AND EXISTS(SELECT 1 FROM BM_CWK000 WHERE A.BQH000=BQH000 AND CH0000=A.CH0000 AND BQH000=251 AND ch0000 between '小儿01' and '小儿60') GROUP BY BQH000; --******************************出院小计 ****************************** CURSOR CUR_SF_ZYRB00_SJ0005 IS SELECT BQH000,COUNT(DISTINCT A.ZYID00) SJ0000,'0' BZ0000 FROM BQ_BRLDXX A,ZY_BRXXB0 B,(SELECT D.MC0000,ZYID00 FROM BQ_BRZDXX C,XT_ZLXG00 D WHERE C.ZLXG00=D.DM0000 AND ZDLB00='3') E WHERE A.ZYID00=B.ZYID00 AND A.YXBZ00='1' AND A.JSZT00='出院' AND A.JSRQ00=as_TJRQ00 AND A.ZYID00=E.ZYID00(+) AND E.MC0000 IN('治愈','好转','未愈','死亡') AND NOT EXISTS(SELECT 1 FROM BM_CWK000 WHERE A.BQH000=BQH000 AND CH0000=A.CH0000 AND BQH000=251 AND ch0000 between '小儿01' and '小儿60') GROUP BY BQH000 UNION ALL SELECT BQH000,COUNT(DISTINCT A.ZYID00) SJ0000,'1' BZ0000 FROM BQ_BRLDXX A,ZY_BRXXB0 B,(SELECT D.MC0000,ZYID00 FROM BQ_BRZDXX C,XT_ZLXG00 D WHERE C.ZLXG00=D.DM0000 AND ZDLB00='3') E WHERE A.ZYID00=B.ZYID00 AND A.YXBZ00='1' AND A.JSZT00='出院' AND A.JSRQ00=as_TJRQ00 AND A.ZYID00=E.ZYID00(+) AND E.MC0000 IN('治愈','好转','未愈','死亡') AND EXISTS(SELECT 1 FROM BM_CWK000 WHERE A.BQH000=BQH000 AND CH0000=A.CH0000 AND BQH000=251 AND ch0000 between '小儿01' and '小儿60') GROUP BY BQH000; --******************************出院(治愈)小计 ****************************** CURSOR CUR_SF_ZYRB00_SJ0006 IS SELECT BQH000,COUNT(DISTINCT A.ZYID00) SJ0000,'0' BZ0000 FROM BQ_BRLDXX A,ZY_BRXXB0 B,(SELECT D.MC0000,ZYID00 FROM BQ_BRZDXX C,XT_ZLXG00 D WHERE C.ZLXG00=D.DM0000 AND ZDLB00='3') E WHERE A.ZYID00=B.ZYID00 AND A.YXBZ00='1' AND A.JSZT00='出院' AND A.JSRQ00=as_TJRQ00 AND A.ZYID00=E.ZYID00(+) AND E.MC0000 IN('治愈') AND NOT EXISTS(SELECT 1 FROM BM_CWK000 WHERE A.BQH000=BQH000 AND CH0000=A.CH0000 AND BQH000=251 AND ch0000 between '小儿01' and '小儿60') GROUP BY BQH000 UNION ALL SELECT BQH000,COUNT(DISTINCT A.ZYID00) SJ0000,'1' BZ0000 FROM BQ_BRLDXX A,ZY_BRXXB0 B,(SELECT D.MC0000,ZYID00 FROM BQ_BRZDXX C,XT_ZLXG00 D WHERE C.ZLXG00=D.DM0000 AND ZDLB00='3') E WHERE A.ZYID00=B.ZYID00 AND A.YXBZ00='1' AND A.JSZT00='出院' AND A.JSRQ00=as_TJRQ00 AND A.ZYID00=E.ZYID00(+) AND E.MC0000 IN('治愈') AND EXISTS(SELECT 1 FROM BM_CWK000 WHERE A.BQH000=BQH000 AND CH0000=A.CH0000 AND BQH000=251 AND ch0000 between '小儿01' and '小儿60') GROUP BY BQH000; --******************************出院(好转)小计 ****************************** CURSOR CUR_SF_ZYRB00_SJ0007 IS SELECT BQH000,COUNT(DISTINCT A.ZYID00) SJ0000,'0' BZ0000 FROM BQ_BRLDXX A,ZY_BRXXB0 B,(SELECT D.MC0000,ZYID00 FROM BQ_BRZDXX C,XT_ZLXG00 D WHERE C.ZLXG00=D.DM0000 AND ZDLB00='3') E WHERE A.ZYID00=B.ZYID00 AND A.YXBZ00='1' AND A.JSZT00='出院' AND A.JSRQ00=as_TJRQ00 AND A.ZYID00=E.ZYID00(+) AND E.MC0000 IN('好转') AND NOT EXISTS(SELECT 1 FROM BM_CWK000 WHERE A.BQH000=BQH000 AND CH0000=A.CH0000 AND BQH000=251 AND ch0000 between '小儿01' and '小儿60') GROUP BY BQH000 UNION ALL SELECT BQH000,COUNT(DISTINCT A.ZYID00) SJ0000,'1' BZ0000 FROM BQ_BRLDXX A,ZY_BRXXB0 B,(SELECT D.MC0000,ZYID00 FROM BQ_BRZDXX C,XT_ZLXG00 D WHERE C.ZLXG00=D.DM0000 AND ZDLB00='3') E WHERE A.ZYID00=B.ZYID00 AND A.YXBZ00='1' AND A.JSZT00='出院' AND A.JSRQ00=as_TJRQ00 AND A.ZYID00=E.ZYID00(+) AND E.MC0000 IN('好转') AND EXISTS(SELECT 1 FROM BM_CWK000 WHERE A.BQH000=BQH000 AND CH0000=A.CH0000 AND BQH000=251 AND ch0000 between '小儿01' and '小儿60') GROUP BY BQH000; --******************************出院(未愈)小计 ****************************** CURSOR CUR_SF_ZYRB00_SJ0008 IS SELECT BQH000,COUNT(DISTINCT A.ZYID00) SJ0000,'0' BZ0000 FROM BQ_BRLDXX A,ZY_BRXXB0 B,(SELECT D.MC0000,ZYID00 FROM BQ_BRZDXX C,XT_ZLXG00 D WHERE C.ZLXG00=D.DM0000 AND ZDLB00='3') E WHERE A.ZYID00=B.ZYID00 AND A.YXBZ00='1' AND A.JSZT00='出院' AND A.JSRQ00=as_TJRQ00 AND A.ZYID00=E.ZYID00(+) AND E.MC0000 IN('未愈') AND NOT EXISTS(SELECT 1 FROM BM_CWK000 WHERE A.BQH000=BQH000 AND CH0000=A.CH0000 AND BQH000=251 AND ch0000 between '小儿01' and '小儿60') GROUP BY BQH000 UNION ALL SELECT BQH000,COUNT(DISTINCT A.ZYID00) SJ0000,'1' BZ0000 FROM BQ_BRLDXX A,ZY_BRXXB0 B,(SELECT D.MC0000,ZYID00 FROM BQ_BRZDXX C,XT_ZLXG00 D WHERE C.ZLXG00=D.DM0000 AND ZDLB00='3') E WHERE A.ZYID00=B.ZYID00 AND A.YXBZ00='1' AND A.JSZT00='出院' AND A.JSRQ00=as_TJRQ00 AND A.ZYID00=E.ZYID00(+) AND E.MC0000 IN('未愈') AND EXISTS(SELECT 1 FROM BM_CWK000 WHERE A.BQH000=BQH000 AND CH0000=A.CH0000 AND BQH000=251 AND ch0000 between '小儿01' and '小儿60') GROUP BY BQH000; --******************************出院(死亡)小计 ****************************** CURSOR CUR_SF_ZYRB00_SJ0009 IS SELECT BQH000,COUNT(DISTINCT A.ZYID00) SJ0000,'0' BZ0000 FROM BQ_BRLDXX A,ZY_BRXXB0 B,(SELECT D.MC0000,ZYID00 FROM BQ_BRZDXX C,XT_ZLXG00 D WHERE C.ZLXG00=D.DM0000 AND ZDLB00='3') E WHERE A.ZYID00=B.ZYID00 AND A.YXBZ00='1' AND A.JSZT00='出院' AND A.JSRQ00=as_TJRQ00 AND A.ZYID00=E.ZYID00(+) AND E.MC0000 IN('死亡') AND NOT EXISTS(SELECT 1 FROM BM_CWK000 WHERE A.BQH000=BQH000 AND CH0000=A.CH0000 AND BQH000=251 AND ch0000 between '小儿01' and '小儿60') GROUP BY BQH000 UNION ALL SELECT BQH000,COUNT(DISTINCT A.ZYID00) SJ0000,'1' BZ0000 FROM BQ_BRLDXX A,ZY_BRXXB0 B,(SELECT D.MC0000,ZYID00 FROM BQ_BRZDXX C,XT_ZLXG00 D WHERE C.ZLXG00=D.DM0000 AND ZDLB00='3') E WHERE A.ZYID00=B.ZYID00 AND A.YXBZ00='1' AND A.JSZT00='出院' AND A.JSRQ00=as_TJRQ00 AND A.ZYID00=E.ZYID00(+) AND E.MC0000 IN('死亡') AND EXISTS(SELECT 1 FROM BM_CWK000 WHERE A.BQH000=BQH000 AND CH0000=A.CH0000 AND BQH000=251 AND ch0000 between '小儿01' and '小儿60') GROUP BY BQH000; --******************************出院(其他)小计 ****************************** CURSOR CUR_SF_ZYRB00_SJ0010 IS SELECT BQH000,COUNT(DISTINCT A.ZYID00) SJ0000,'0' BZ0000 FROM BQ_BRLDXX A,ZY_BRXXB0 B,(SELECT D.MC0000,ZYID00 FROM BQ_BRZDXX C,XT_ZLXG00 D WHERE C.ZLXG00=D.DM0000 AND ZDLB00='3') E WHERE A.ZYID00=B.ZYID00 AND A.YXBZ00='1' AND A.JSZT00='出院' AND A.JSRQ00=as_TJRQ00 AND A.ZYID00=E.ZYID00(+) AND E.MC0000 NOT IN('治愈','好转','未愈','死亡') AND NOT EXISTS(SELECT 1 FROM BM_CWK000 WHERE A.BQH000=BQH000 AND CH0000=A.CH0000 AND BQH000=251 AND ch0000 between '小儿01' and '小儿60') GROUP BY BQH000 UNION ALL SELECT BQH000,COUNT(DISTINCT A.ZYID00) SJ0000,'1' BZ0000 FROM BQ_BRLDXX A,ZY_BRXXB0 B,(SELECT D.MC0000,ZYID00 FROM BQ_BRZDXX C,XT_ZLXG00 D WHERE C.ZLXG00=D.DM0000 AND ZDLB00='3') E WHERE A.ZYID00=B.ZYID00 AND A.YXBZ00='1' AND A.JSZT00='出院' AND A.JSRQ00=as_TJRQ00 AND A.ZYID00=E.ZYID00(+) AND E.MC0000 NOT IN('治愈','好转','未愈','死亡') AND EXISTS(SELECT 1 FROM BM_CWK000 WHERE A.BQH000=BQH000 AND CH0000=A.CH0000 AND BQH000=251 AND ch0000 between '小儿01' and '小儿60') GROUP BY BQH000; --******************************转出合计 ****************************** CURSOR CUR_SF_ZYRB00_SJ0011 IS SELECT BQH000,COUNT(A.ZYID00) SJ0000,'0' BZ0000 FROM BQ_BRLDXX A,ZY_BRXXB0 B WHERE A.ZYID00=B.ZYID00 AND A.YXBZ00='1' AND a.JSZT00 in('转出') AND A.JSRQ00 =as_TJRQ00 AND NOT EXISTS(SELECT 1 FROM BM_CWK000 WHERE A.BQH000=BQH000 AND CH0000=A.CH0000 AND BQH000=251 AND ch0000 between '小儿01' and '小儿60') GROUP BY BQH000 UNION ALL SELECT BQH000,COUNT(A.ZYID00) SJ0000,'1' BZ0000 FROM BQ_BRLDXX A,ZY_BRXXB0 B WHERE A.ZYID00=B.ZYID00 AND A.YXBZ00='1' AND a.JSZT00 in('转出') AND A.JSRQ00 =as_TJRQ00 AND EXISTS(SELECT 1 FROM BM_CWK000 WHERE A.BQH000=BQH000 AND CH0000=A.CH0000 AND BQH000=251 AND ch0000 between '小儿01' and '小儿60') GROUP BY BQH000; --*****************************现有病人数 ***************************** CURSOR CUR_SF_ZYRB00_SJ0012 IS SELECT BQH000,COUNT(DISTINCT A.ZYID00) SJ0000,'0' BZ0000 FROM BQ_BRLDXX A,ZY_BRXXB0 B WHERE A.ZYID00=B.ZYID00 AND A.YXBZ00='1' AND A.QSZT00 IN('新入' ,'转入') AND A.QSRQ00 <=as_TJRQ00 AND BQJSRQ > as_TJRQ00 AND NOT EXISTS(SELECT 1 FROM BM_CWK000 WHERE A.BQH000=BQH000 AND CH0000=A.CH0000 AND BQH000=251 AND ch0000 between '小儿01' and '小儿60') GROUP BY BQH000 UNION ALL SELECT BQH000,COUNT(DISTINCT A.ZYID00) SJ0000,'1' BZ0000 FROM BQ_BRLDXX A,ZY_BRXXB0 B WHERE A.ZYID00=B.ZYID00 AND A.YXBZ00='1' AND A.QSZT00 IN('新入' ,'转入') AND A.QSRQ00 <=as_TJRQ00 AND BQJSRQ > as_TJRQ00 AND EXISTS(SELECT 1 FROM BM_CWK000 WHERE A.BQH000=BQH000 AND CH0000=A.CH0000 AND BQH000=251 AND ch0000 between '小儿01' and '小儿60') GROUP BY BQH000; BEGIN V_params:='调用过程: SP_SF_ZYRB00_TJ0000('||as_TJRQ00||','||AD_ID0000||') ; '; select SQ_BM_KSSRTJ_ID0000.NEXTVAL INTO AD_ID0000 from dual; SELECT to_char(to_date(as_TJRQ00,'YYYYMMDD')-1,'YYYYMMDD') INTO ls_TJRQ00 FROM DUAL; INSERT INTO BM_KSSRTJ(ID0000,ZXKS00,BZ0000) SELECT AD_ID0000,BMBH00,'0' FROM BM_BMBM00 WHERE BMXZ00='9' AND FLAG00='1' AND CZBZ00<>'2' ORDER BY PXXH00; INSERT INTO BM_KSSRTJ(ID0000,ZXKS00,BZ0000) SELECT AD_ID0000,BMBH00,'1' FROM BM_BMBM00 WHERE BMXZ00='9' AND FLAG00='1' AND CZBZ00<>'2' AND BMBH00='251' ORDER BY PXXH00; --把小儿区251的61号床以后的床位单独列出来 --原有病人数 OPEN CUR_SF_ZYRB00_SJ0001; --合计 LOOP FETCH CUR_SF_ZYRB00_SJ0001 INTO ls_ZXKS00,ls_SJ0000,ls_BZ0000; EXIT WHEN CUR_SF_ZYRB00_SJ0001%NOTFOUND; UPDATE BM_KSSRTJ SET SJ0001=ls_SJ0000 WHERE ID0000=AD_ID0000 AND ZXKS00=ls_ZXKS00 AND BZ0000=ls_BZ0000; END LOOP; OPEN CUR_SF_ZYRB00_SJ0002; --合计 LOOP FETCH CUR_SF_ZYRB00_SJ0002 INTO ls_ZXKS00,ls_SJ0000,ls_BZ0000; EXIT WHEN CUR_SF_ZYRB00_SJ0002%NOTFOUND; UPDATE BM_KSSRTJ SET SJ0002=ls_SJ0000 WHERE ID0000=AD_ID0000 AND ZXKS00=ls_ZXKS00 AND BZ0000=ls_BZ0000; END LOOP; OPEN CUR_SF_ZYRB00_SJ0003; --合计 LOOP FETCH CUR_SF_ZYRB00_SJ0003 INTO ls_ZXKS00,ls_SJ0000,ls_BZ0000; EXIT WHEN CUR_SF_ZYRB00_SJ0003%NOTFOUND; UPDATE BM_KSSRTJ SET SJ0003=ls_SJ0000 WHERE ID0000=AD_ID0000 AND ZXKS00=ls_ZXKS00 AND BZ0000=ls_BZ0000; END LOOP; OPEN CUR_SF_ZYRB00_SJ0004; --合计 LOOP FETCH CUR_SF_ZYRB00_SJ0004 INTO ls_ZXKS00,ls_SJ0000,ls_BZ0000; EXIT WHEN CUR_SF_ZYRB00_SJ0004%NOTFOUND; UPDATE BM_KSSRTJ SET SJ0004=ls_SJ0000 WHERE ID0000=AD_ID0000 AND ZXKS00=ls_ZXKS00 AND BZ0000=ls_BZ0000; END LOOP; OPEN CUR_SF_ZYRB00_SJ0005; --合计 LOOP FETCH CUR_SF_ZYRB00_SJ0005 INTO ls_ZXKS00,ls_SJ0000,ls_BZ0000; EXIT WHEN CUR_SF_ZYRB00_SJ0005%NOTFOUND; UPDATE BM_KSSRTJ SET SJ0005=ls_SJ0000 WHERE ID0000=AD_ID0000 AND ZXKS00=ls_ZXKS00 AND BZ0000=ls_BZ0000; END LOOP; OPEN CUR_SF_ZYRB00_SJ0006; --合计 LOOP FETCH CUR_SF_ZYRB00_SJ0006 INTO ls_ZXKS00,ls_SJ0000,ls_BZ0000; EXIT WHEN CUR_SF_ZYRB00_SJ0006%NOTFOUND; UPDATE BM_KSSRTJ SET SJ0006=ls_SJ0000 WHERE ID0000=AD_ID0000 AND ZXKS00=ls_ZXKS00 AND BZ0000=ls_BZ0000; END LOOP; OPEN CUR_SF_ZYRB00_SJ0007; --合计 LOOP FETCH CUR_SF_ZYRB00_SJ0007 INTO ls_ZXKS00,ls_SJ0000,ls_BZ0000; EXIT WHEN CUR_SF_ZYRB00_SJ0007%NOTFOUND; UPDATE BM_KSSRTJ SET SJ0007=ls_SJ0000 WHERE ID0000=AD_ID0000 AND ZXKS00=ls_ZXKS00 AND BZ0000=ls_BZ0000; END LOOP; OPEN CUR_SF_ZYRB00_SJ0008; --合计 LOOP FETCH CUR_SF_ZYRB00_SJ0008 INTO ls_ZXKS00,ls_SJ0000,ls_BZ0000; EXIT WHEN CUR_SF_ZYRB00_SJ0008%NOTFOUND; UPDATE BM_KSSRTJ SET SJ0008=ls_SJ0000 WHERE ID0000=AD_ID0000 AND ZXKS00=ls_ZXKS00 AND BZ0000=ls_BZ0000; END LOOP; OPEN CUR_SF_ZYRB00_SJ0009; --合计 LOOP FETCH CUR_SF_ZYRB00_SJ0009 INTO ls_ZXKS00,ls_SJ0000,ls_BZ0000; EXIT WHEN CUR_SF_ZYRB00_SJ0001%NOTFOUND; UPDATE BM_KSSRTJ SET SJ0009=ls_SJ0000 WHERE ID0000=AD_ID0000 AND ZXKS00=ls_ZXKS00 AND BZ0000=ls_BZ0000; END LOOP; OPEN CUR_SF_ZYRB00_SJ0010; --合计 LOOP FETCH CUR_SF_ZYRB00_SJ0010 INTO ls_ZXKS00,ls_SJ0000,ls_BZ0000; EXIT WHEN CUR_SF_ZYRB00_SJ0010%NOTFOUND; UPDATE BM_KSSRTJ SET SJ0010=ls_SJ0000 WHERE ID0000=AD_ID0000 AND ZXKS00=ls_ZXKS00 AND BZ0000=ls_BZ0000; END LOOP; OPEN CUR_SF_ZYRB00_SJ0011; --合计 LOOP FETCH CUR_SF_ZYRB00_SJ0011 INTO ls_ZXKS00,ls_SJ0000,ls_BZ0000; EXIT WHEN CUR_SF_ZYRB00_SJ0011%NOTFOUND; UPDATE BM_KSSRTJ SET SJ0011=ls_SJ0000 WHERE ID0000=AD_ID0000 AND ZXKS00=ls_ZXKS00 AND BZ0000=ls_BZ0000; END LOOP; OPEN CUR_SF_ZYRB00_SJ0012; --合计 LOOP FETCH CUR_SF_ZYRB00_SJ0012 INTO ls_ZXKS00,ls_SJ0000,ls_BZ0000; EXIT WHEN CUR_SF_ZYRB00_SJ0012%NOTFOUND; UPDATE BM_KSSRTJ SET SJ0012=ls_SJ0000 WHERE ID0000=AD_ID0000 AND ZXKS00=ls_ZXKS00 AND BZ0000=ls_BZ0000; END LOOP; EXCEPTION WHEN OTHERS THEN ROLLBACK; RAISE_APPLICATION_ERROR(-20266,substrb(nvl(SQLERRM, '原因不明出错')||'!*'||V_params,1,120)); END; /