prompt. 255 SP_ZS_YSHSXMSR_BB 过程, 住院开单医生科室收入统计 CREATE OR REPLACE PROCEDURE SP_ZS_YSHSXMSR_BB ( as_KSRQ00 IN CHAR, --开始日期 as_KSSJ00 IN CHAR, --开始时间 as_JSRQ00 IN CHAR, --结束日期 as_JSSJ00 IN CHAR, --结束时间 as_JSJZ00 IN CHAR, --结算记帐类别 0-按结算统计 1-按记帐统计 as_TJLB00 IN NUMBER, --统计类别 0:票据 1:一级 2:二级 as_TJKS00 IN NUMBER, --统计病区 ad_ID0000 OUT NUMBER, --统计报表对应的ID as_YHMSG0 OUT VARCHAR, --存储过程提示的错误信息 as_SYSMSG OUT VARCHAR --系统提示的错误信息 ) as ls_XMBH00 ZY_FYMX00.XMBH00%TYPE; ls_FPHSBH VARCHAR2(10); --发票或核算项目编号 ls_HJJE00 ZY_FYMX00.HJJE00%TYPE; ls_KSBH00 NUMBER(10); --科室内部号 ls_BH0000 BM_YYHSXM.BH0000%TYPE; VCounter NUMBER(12); ls_BHSX00 CHAR(2); ls_BHSX01 NUMBER(12); ls_FBMC01 varchar2(10); --费别名称 ls_YBHJJE ZY_FYMX00.HJJE00%TYPE; --医保病人合计金额 ls_NBHJJE ZY_FYMX00.HJJE00%TYPE; --农保病人合计金额 ls_ZFHJJE ZY_FYMX00.HJJE00%TYPE; --自费病人合计金额 ls_QTHJJE ZY_FYMX00.HJJE00%TYPE; --其他类病人合计金额 CURSOR CUR_ZY_FYMX00_JS0000_FPXM IS --结算明细(发票项目) select decode(B.FBBH00,1,'自费',3,decode(G.SFXNH0,'1','农保','医保'),'其它') FBMC01,E.BH0000,sum(A.HJJE00) HJJE00,A.KDYS00 KDKS00 from ZY_FYMX00 A,ZY_JZB000 B,ZY_BRFY00 C,BM_YYSFXM D,BM_FPXM00 E,IC_YBBRLB G where C.JZDH00=B.JZDH00 AND B.ZYID00=C.ZYID00 AND A.DJH000=C.DJH000 AND A.XMBH00=D.SFXMID AND D.ZYFPID=E.FPXMID AND B.JZRQ00>=as_KSRQ00 AND B.JZRQ00<=as_JSRQ00 and B.JZRQ00||B.JZSJ00>=as_KSRQ00||as_KSSJ00 AND B.JZRQ00||B.JZSJ00<=as_JSRQ00||as_JSSJ00 and G.YBLB00=b.YBLB00 and G.FBBH00=b.FBBH00 and (A.KDKS00=as_TJKS00 or exists (SELECT 1 FROM BM_BQKS00 WHERE BQH000=as_TJKS00 and KSH000=A.KDKS00)) group by decode(B.FBBH00,1,'自费',3,decode(G.SFXNH0,'1','农保','医保'),'其它'),A.KDYS00,E.BH0000 order by E.BH0000; CURSOR CUR_ZY_FYMX00_JS0000_YJHS IS --结算明细(一级核算项目) select decode(B.FBBH00,1,'自费',3,decode(G.SFXNH0,'1','农保','医保'),'其它') FBMC01,E.YJHSBH,sum(A.HJJE00) HJJE00,A.KDYS00 KDKS00 from ZY_FYMX00 A,ZY_JZB000 B,ZY_BRFY00 C,BM_YYSFXM D,VW_BM_YJHSXM E,IC_YBBRLB G where C.JZDH00=B.JZDH00 AND B.ZYID00=C.ZYID00 AND A.DJH000=C.DJH000 AND A.XMBH00=D.SFXMID AND D.HSXMID=E.HSXMID(+) AND B.JZRQ00>=as_KSRQ00 AND B.JZRQ00<=as_JSRQ00 and B.JZRQ00||B.JZSJ00>=as_KSRQ00||as_KSSJ00 AND B.JZRQ00||B.JZSJ00<=as_JSRQ00||as_JSSJ00 and G.YBLB00=b.YBLB00 and G.FBBH00=b.FBBH00 and (A.KDKS00=as_TJKS00 or exists (SELECT 1 FROM BM_BQKS00 WHERE BQH000=as_TJKS00 and KSH000=A.KDKS00)) group by decode(B.FBBH00,1,'自费',3,decode(G.SFXNH0,'1','农保','医保'),'其它'),A.KDYS00,E.YJHSBH ORDER BY E.YJHSBH; CURSOR CUR_ZY_FYMX00_JS0000_EJHS IS --结算明细(二级核算项目) select decode(B.FBBH00,1,'自费',3,decode(G.SFXNH0,'1','农保','医保'),'其它') FBMC01,E.EJHSBH,sum(A.HJJE00) HJJE00,A.KDYS00 KDKS00 from ZY_FYMX00 A,ZY_JZB000 B,ZY_BRFY00 C,BM_YYSFXM D,VW_BM_EJHSXM E,IC_YBBRLB G where C.JZDH00=B.JZDH00 AND B.ZYID00=C.ZYID00 AND A.DJH000=C.DJH000 AND A.XMBH00=D.SFXMID AND D.HSXMID=E.HSXMID(+) AND B.JZRQ00>=as_KSRQ00 AND B.JZRQ00<=as_JSRQ00 and B.JZRQ00||B.JZSJ00>=as_KSRQ00||as_KSSJ00 AND B.JZRQ00||B.JZSJ00<=as_JSRQ00||as_JSSJ00 and G.YBLB00=b.YBLB00 and G.FBBH00=b.FBBH00 and (A.KDKS00=as_TJKS00 or exists (SELECT 1 FROM BM_BQKS00 WHERE BQH000=as_TJKS00 and KSH000=A.KDKS00)) group by decode(B.FBBH00,1,'自费',3,decode(G.SFXNH0,'1','农保','医保'),'其它'),A.KDYS00,E.EJHSBH ORDER BY E.EJHSBH; CURSOR CUR_ZY_FYMX00_JZ0000_FPXM IS --记帐明细(发票项目) select decode(B.FBBH00,1,'自费',3,decode(G.SFXNH0,'1','农保','医保'),'其它') FBMC01,E.BH0000,sum(A.HJJE00) HJJE00,A.KDYS00 KDKS00 from ZY_FYMX00 A,ZY_BRFY00 C,BM_BRXXB0 B,BM_YYSFXM D,BM_FPXM00 E,IC_YBBRLB G where A.DJH000=C.DJH000 AND A.XMBH00=D.SFXMID AND D.ZYFPID=E.FPXMID AND C.CZRQ00>=as_KSRQ00 AND C.CZRQ00<=as_JSRQ00 AND C.CZRQ00||C.CZSJ00>=as_KSRQ00||as_KSSJ00 AND C.CZRQ00||C.CZSJ00<=as_JSRQ00||as_JSSJ00 and C.BRID00=B.BRID00 and B.FBBH00 = G.FBBH00 and B.YBLB00 = G.YBLB00 and (A.KDKS00=as_TJKS00 or exists (SELECT 1 FROM BM_BQKS00 WHERE BQH000=as_TJKS00 and KSH000=A.KDKS00)) group by decode(B.FBBH00,1,'自费',3,decode(G.SFXNH0,'1','农保','医保'),'其它'),A.KDYS00,E.BH0000 ORDER BY E.BH0000; CURSOR CUR_ZY_FYMX00_JZ0000_YJHS IS --记帐明细(一级核算项目) select decode(B.FBBH00,1,'自费',3,decode(G.SFXNH0,'1','农保','医保'),'其它') FBMC01,E.YJHSBH,sum(A.HJJE00) HJJE00,A.KDYS00 KDKS00 from ZY_FYMX00 A,ZY_BRFY00 C,BM_BRXXB0 B,BM_YYSFXM D,VW_BM_YJHSXM E,IC_YBBRLB G where A.DJH000=C.DJH000 AND A.XMBH00=D.SFXMID AND D.HSXMID=E.HSXMID(+) AND C.CZRQ00>=as_KSRQ00 AND C.CZRQ00<=as_JSRQ00 AND C.CZRQ00||C.CZSJ00>=as_KSRQ00||as_KSSJ00 AND C.CZRQ00||C.CZSJ00<=as_JSRQ00||as_JSSJ00 and C.BRID00=B.BRID00 and B.FBBH00 = G.FBBH00 and B.YBLB00 = G.YBLB00 and (A.KDKS00=as_TJKS00 or exists (SELECT 1 FROM BM_BQKS00 WHERE BQH000=as_TJKS00 and KSH000=A.KDKS00)) group by decode(B.FBBH00,1,'自费',3,decode(G.SFXNH0,'1','农保','医保'),'其它'),A.KDYS00,E.YJHSBH ORDER BY E.YJHSBH; CURSOR CUR_ZY_FYMX00_JZ0000_EJHS IS --记帐明细(二级核算项目) select decode(B.FBBH00,1,'自费',3,decode(G.SFXNH0,'1','农保','医保'),'其它') FBMC01,E.EJHSBH,sum(A.HJJE00) HJJE00,A.KDYS00 KDKS00 from ZY_FYMX00 A,ZY_BRFY00 C,BM_BRXXB0 B,BM_YYSFXM D,VW_BM_EJHSXM E,IC_YBBRLB G where A.DJH000=C.DJH000 AND A.XMBH00=D.SFXMID AND D.HSXMID=E.HSXMID(+) AND C.CZRQ00>=as_KSRQ00 AND C.CZRQ00<=as_JSRQ00 AND C.CZRQ00||C.CZSJ00>=as_KSRQ00||as_KSSJ00 AND C.CZRQ00||C.CZSJ00<=as_JSRQ00||as_JSSJ00 and C.BRID00=B.BRID00 and B.FBBH00 = G.FBBH00 and B.YBLB00 = G.YBLB00 and (A.KDKS00=as_TJKS00 or exists (SELECT 1 FROM BM_BQKS00 WHERE BQH000=as_TJKS00 and KSH000=A.KDKS00)) group by decode(B.FBBH00,1,'自费',3,decode(G.SFXNH0,'1','农保','医保'),'其它'),A.KDYS00,E.EJHSBH ORDER BY E.EJHSBH; -- MODIFICATION HISTORY -- Person Date Comments -- chenqw 20090227 按科室统计工作量 -- qks 20090818 as_TJKS00可能属于病区情况 -- zhangwz 20120202 增加对医保、农保、自费病人三类病人的药占比例的统计 by ZYYS-20120111-003. BEGIN --delete from BM_YYSFTJ; blackpig commit; ls_BHSX01:=0; ls_BHSX00:='00'; select SQ_BM_YYSFTJ_ID0000.nextval into ad_ID0000 from dual; IF as_JSJZ00='0' THEN IF as_TJLB00='0' THEN OPEN CUR_ZY_FYMX00_JS0000_FPXM; ELSIF as_TJLB00='1' THEN OPEN CUR_ZY_FYMX00_JS0000_YJHS; ELSE OPEN CUR_ZY_FYMX00_JS0000_EJHS; END IF; ELSE IF as_TJLB00='0' THEN OPEN CUR_ZY_FYMX00_JZ0000_FPXM; ELSIF as_TJLB00='1' THEN OPEN CUR_ZY_FYMX00_JZ0000_YJHS; ELSE OPEN CUR_ZY_FYMX00_JZ0000_EJHS; END IF; END IF; LOOP IF as_JSJZ00='0' THEN IF as_TJLB00='0' THEN FETCH CUR_ZY_FYMX00_JS0000_FPXM INTO ls_FBMC01,ls_FPHSBH,ls_HJJE00,ls_KSBH00; --select count(1) into V_YPHJ00 from BM_FPXM00 A,BM_GHKSTJ_KSDY00 B where B.ID0000=AD_ID0000 AND A.BH0000=trim(B.GHKSMC) and XMMC00 like '%药费' and trim(b.GHKSMC)=ls_FPHSBH; EXIT WHEN CUR_ZY_FYMX00_JS0000_FPXM%NOTFOUND; ELSIF as_TJLB00='1' THEN FETCH CUR_ZY_FYMX00_JS0000_YJHS INTO ls_FBMC01,ls_FPHSBH,ls_HJJE00,ls_KSBH00; --select count(1) into V_YPHJ00 from VW_BM_YJHSXM A,BM_GHKSTJ_KSDY00 B where B.ID0000=AD_ID0000 AND A.YJHSBH=trim(B.GHKSMC) and HSXMMC like '%药费' and trim(b.GHKSMC)=ls_FPHSBH; EXIT WHEN CUR_ZY_FYMX00_JS0000_YJHS%NOTFOUND; ELSE FETCH CUR_ZY_FYMX00_JS0000_EJHS INTO ls_FBMC01,ls_FPHSBH,ls_HJJE00,ls_KSBH00; --select count(1) into V_YPHJ00 from VW_BM_EJHSXM A,BM_GHKSTJ_KSDY00 B where B.ID0000=AD_ID0000 AND A.EJHSBH=trim(B.GHKSMC) and HSXMMC like '%药费' and trim(b.GHKSMC)=ls_FPHSBH; EXIT WHEN CUR_ZY_FYMX00_JS0000_EJHS%NOTFOUND; END IF; ELSE IF as_TJLB00='0' THEN FETCH CUR_ZY_FYMX00_JZ0000_FPXM INTO ls_FBMC01,ls_FPHSBH,ls_HJJE00,ls_KSBH00; --select count(1) into V_YPHJ00 from BM_FPXM00 A,BM_GHKSTJ_KSDY00 B where B.ID0000=AD_ID0000 AND A.BH0000=trim(B.GHKSMC) and XMMC00 like '%药费' and trim(b.GHKSMC)=ls_FPHSBH; EXIT WHEN CUR_ZY_FYMX00_JZ0000_FPXM%NOTFOUND; ELSIF as_TJLB00='1' THEN FETCH CUR_ZY_FYMX00_JZ0000_YJHS INTO ls_FBMC01,ls_FPHSBH,ls_HJJE00,ls_KSBH00; --select count(1) into V_YPHJ00 from VW_BM_YJHSXM A,BM_GHKSTJ_KSDY00 B where B.ID0000=AD_ID0000 AND A.YJHSBH=trim(B.GHKSMC) and HSXMMC like '%药费' and trim(b.GHKSMC)=ls_FPHSBH; EXIT WHEN CUR_ZY_FYMX00_JZ0000_YJHS%NOTFOUND; ELSE FETCH CUR_ZY_FYMX00_JZ0000_EJHS INTO ls_FBMC01,ls_FPHSBH,ls_HJJE00,ls_KSBH00; --select count(1) into V_YPHJ00 from VW_BM_EJHSXM A,BM_GHKSTJ_KSDY00 B where B.ID0000=AD_ID0000 AND A.EJHSBH=trim(B.GHKSMC) and HSXMMC like '%药费' and trim(b.GHKSMC)=ls_FPHSBH; EXIT WHEN CUR_ZY_FYMX00_JZ0000_EJHS%NOTFOUND; END IF; END IF; SELECT Count(1) into VCounter FROM BM_GHKSTJ_KSDY00 WHERE ID0000=AD_ID0000 AND trim(GHKSMC)=ls_FPHSBH; IF VCounter>0 then SELECT lpad(to_char(GHKSBH),2,'0') into ls_BHSX00 from BM_GHKSTJ_KSDY00 WHERE ID0000=AD_ID0000 AND GHKSMC=ls_FPHSBH; ELSE ls_BHSX01:=ls_BHSX01+1; SELECT lpad(to_char(ls_BHSX01),2,'0') into ls_BHSX00 from dual; INSERT INTO BM_GHKSTJ_KSDY00(ID0000,BH0000,GHKSBH,GHKSMC) VALUES(AD_ID0000,0,ls_BHSX01,ls_FPHSBH); END IF; IF ls_BHSX00>'98' THEN AS_YHMSG0:='住院病区收入统计失败,请察看详细信息并与系统管理员联系!'; AS_SYSMSG:='所设置的核算项目超过98个'; ROLLBACK; RETURN; END IF; ---------------------------------------------增加病人类别总金额------------------------------------ --SFXM101 医保病人总金额 SFXM102 医保病人药品金额 --SFXM111 农保病人总金额 SFXM112 农保病人药品金额 --SFXM121 自费病人总金额 SFXM122 自费病人药品金额 --SFXM131 其他病人总金额 SFXM132 其他病人药品金额 ls_YBHJJE:=0;ls_NBHJJE:=0;ls_ZFHJJE:=0;ls_QTHJJE:=0; if ls_FBMC01='医保' then ls_YBHJJE:=ls_HJJE00; elsif ls_FBMC01='农保' then ls_NBHJJE:=ls_HJJE00; elsif ls_FBMC01='自费' then ls_ZFHJJE:=ls_HJJE00; else ls_QTHJJE:=ls_HJJE00; end if; select count(*) into VCounter from BM_YYSFTJ where BMBH00 = ls_KSBH00 and ID0000=AD_ID0000; if VCounter>0 then SP_EXECUTE_SQL('Update BM_YYSFTJ Set SFXM'||ls_BHSX00||' = NVL(SFXM'||ls_BHSX00||',0)+'||to_char(nvl(ls_HJJE00,0))||', XMHJ00 =NVL(XMHJ00 ,0)+'||to_char(nvl(ls_HJJE00,0))||',SFXM101=NVL(SFXM101,0)+'||to_char(nvl(ls_YBHJJE,0))||', SFXM111=NVL(SFXM111,0)+'||to_char(nvl(ls_NBHJJE,0))||',SFXM121=NVL(SFXM121,0)+'||to_char(nvl(ls_ZFHJJE,0))||', SFXM131=NVL(SFXM131,0)+'||to_char(nvl(ls_QTHJJE,0))||' where BMBH00 = '||to_char(ls_KSBH00)||' and ID0000='||to_char(AD_ID0000)); if ls_FPHSBH in ('01','02','03') then --是否属于药品统计 SP_EXECUTE_SQL('Update BM_YYSFTJ Set YPHJ00=NVL(YPHJ00,0)+'||to_char(nvl(ls_HJJE00,0))||', SFXM102=NVL(SFXM102,0)+'||to_char(nvl(ls_YBHJJE,0))||',SFXM112=NVL(SFXM112,0)+'||to_char(nvl(ls_NBHJJE,0))||', SFXM122=NVL(SFXM122,0)+'||to_char(nvl(ls_ZFHJJE,0))||',SFXM132=NVL(SFXM132,0)+'||to_char(nvl(ls_QTHJJE,0))||' where BMBH00 = '||to_char(ls_KSBH00)||' and ID0000='||to_char(AD_ID0000)); end if; else begin if ls_FPHSBH in ('01','02','03') then SP_EXECUTE_SQL('Insert into BM_YYSFTJ(BMBH00,YPHJ00,SFXM'||ls_BHSX00||',ID0000,XMHJ00,SFXM101,SFXM102,SFXM111,SFXM112,SFXM121,SFXM122,SFXM131,SFXM132) values('||to_char(ls_KSBH00)||','||to_char(nvl(ls_HJJE00,0))||','||to_char(nvl(ls_HJJE00,0))||','||to_char(AD_ID0000)|| ','||to_char(nvl(ls_HJJE00,0))||','||to_char(nvl(ls_YBHJJE,0))||','||to_char(nvl(ls_YBHJJE,0))|| ','||to_char(nvl(ls_NBHJJE,0))||','||to_char(nvl(ls_NBHJJE,0))|| ','||to_char(nvl(ls_ZFHJJE,0))||','||to_char(nvl(ls_ZFHJJE,0))|| ','||to_char(nvl(ls_QTHJJE,0))||','||to_char(nvl(ls_QTHJJE,0))||')'); else SP_EXECUTE_SQL('Insert into BM_YYSFTJ(BMBH00,SFXM'||ls_BHSX00||',ID0000,XMHJ00,SFXM102,SFXM112,SFXM122,SFXM132) values('||to_char(ls_KSBH00)||','||to_char(nvl(ls_HJJE00,0))||','||to_char(AD_ID0000)||','||to_char(nvl(ls_HJJE00,0))|| ','||to_char(nvl(ls_YBHJJE,0))||','||to_char(nvl(ls_NBHJJE,0))||','||to_char(nvl(ls_ZFHJJE,0))||','||to_char(nvl(ls_QTHJJE,0))||')'); end if; end; end if; END LOOP; IF as_JSJZ00='0' THEN IF as_TJLB00='0' THEN CLOSE CUR_ZY_FYMX00_JS0000_FPXM; ELSIF as_TJLB00='1' THEN CLOSE CUR_ZY_FYMX00_JS0000_YJHS; ELSE CLOSE CUR_ZY_FYMX00_JS0000_EJHS; END IF; ELSE IF as_TJLB00='0' THEN CLOSE CUR_ZY_FYMX00_JZ0000_FPXM; ELSIF as_TJLB00='1' THEN CLOSE CUR_ZY_FYMX00_JZ0000_YJHS; ELSE CLOSE CUR_ZY_FYMX00_JZ0000_EJHS; END IF; END IF; -- update BM_YYSFTJ I -- SET YPHJ00=(SELECT nvl(H.JFJE00,0) FROM -- (SELECT SUM(CYYSK0-CYYTK0) JFJE00,C.DQKS00 FROM ZY_JZB000 B,ZY_BRXXB0 C -- where B.ZYID00=C.ZYID00 AND B.JZRQ00>=as_KSRQ00 AND B.JZRQ00<=as_JSRQ00 -- group by C.DQKS00) H -- where H.DQKS00=I.BMBH00) where ID0000= ad_ID0000; update BM_YYSFTJ set SFXM101=nvl(SFXM101,0),SFXM102=nvl(SFXM102,0),SFXM111=nvl(SFXM111,0),SFXM112=nvl(SFXM112,0), SFXM121=nvl(SFXM121,0),SFXM122=nvl(SFXM122,0),SFXM131=nvl(SFXM131,0),SFXM132=nvl(SFXM132,0) where ID0000=ad_ID0000; Insert into BM_YYSFTJ(ID0000,BMBH00,SFXM01,SFXM02,SFXM03,SFXM04,SFXM05,SFXM06,SFXM07,SFXM08,SFXM09,SFXM10, SFXM11,SFXM12,SFXM13,SFXM14,SFXM15,SFXM16,SFXM17,SFXM18,SFXM19,SFXM20, SFXM21,SFXM22,SFXM23,SFXM24,SFXM25,SFXM26,SFXM27,SFXM28,SFXM29,SFXM30, SFXM31,SFXM32,SFXM33,SFXM34,SFXM35,SFXM36,SFXM37,SFXM38,SFXM39,SFXM40, SFXM41,SFXM42,SFXM43,SFXM44,SFXM45,SFXM46,SFXM47,SFXM48,SFXM49,SFXM50, SFXM51,SFXM52,SFXM53,SFXM54,SFXM55,SFXM56,SFXM57,SFXM58,SFXM59,SFXM60, SFXM61,SFXM62,SFXM63,SFXM64,SFXM65,SFXM66,SFXM67,SFXM68,SFXM69,SFXM70, XMHJ00,YPHJ00, SFXM101,SFXM102,SFXM111,SFXM112,SFXM121,SFXM122,SFXM131,SFXM132) select ad_ID0000,999999999,sum(SFXM01),sum(SFXM02),sum(SFXM03),sum(SFXM04),sum(SFXM05),sum(SFXM06),sum(SFXM07),sum(SFXM08),sum(SFXM09),sum(SFXM10), sum(SFXM11),sum(SFXM12),sum(SFXM13),sum(SFXM14),sum(SFXM15),sum(SFXM16),sum(SFXM17),sum(SFXM18),sum(SFXM19),sum(SFXM20), sum(SFXM21),sum(SFXM22),sum(SFXM23),sum(SFXM24),sum(SFXM25),sum(SFXM26),sum(SFXM27),sum(SFXM28),sum(SFXM29),sum(SFXM30), sum(SFXM31),sum(SFXM32),sum(SFXM33),sum(SFXM34),sum(SFXM35),sum(SFXM36),sum(SFXM37),sum(SFXM38),sum(SFXM39),sum(SFXM40), sum(SFXM41),sum(SFXM42),sum(SFXM43),sum(SFXM44),sum(SFXM45),sum(SFXM46),sum(SFXM47),sum(SFXM48),sum(SFXM49),sum(SFXM50), sum(SFXM51),sum(SFXM52),sum(SFXM53),sum(SFXM54),sum(SFXM55),sum(SFXM56),sum(SFXM57),sum(SFXM58),sum(SFXM59),sum(SFXM60), sum(SFXM61),sum(SFXM62),sum(SFXM63),sum(SFXM64),sum(SFXM65),sum(SFXM66),sum(SFXM67),sum(SFXM68),sum(SFXM69),sum(SFXM70), sum(XMHJ00),sum(YPHJ00), sum(SFXM101),sum(SFXM102),sum(SFXM111),sum(SFXM112),sum(SFXM121),sum(SFXM122),sum(SFXM131),sum(SFXM132) from BM_YYSFTJ where ID0000 = ad_ID0000; delete from BM_YYSFTJ where ID0000 = ad_ID0000 and XMHJ00=0; commit; EXCEPTION WHEN OTHERS THEN as_YHMSG0:='出错原因不详,请记录此信息并和系统管理员联系!'; as_SYSMSG:=substr(SQLERRM||'执行存储过程错误:SP_ZY_KSHSXMSR('||as_KSRQ00||','||as_JSRQ00||',ad_ID0000,as_YHMSG0,as_SYSMSG',1,150); ROLLBACK; END; / show error; --%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%