CREATE OR REPLACE TRIGGER TR_DZBL_BRZDXX_ALL BEFORE DELETE ON SD_BQ.BQ_BRZDXX REFERENCING OLD AS OLD NEW AS NEW FOR EACH ROW declare -- local variables here VS_PROCESS XT_XTRZ00.JCID00%Type; VS_YGBH00 XT_XTRZ00.YGBH00%Type; VD_CZID00 number(10); VS_CZNR00 XT_XTCZRZ.CZNR00%Type; VS_YSMC00 BM_YGBM00.ZWXM00%Type; VS_XKH000 Bm_Ygbm00.Xkh000%Type; VS_ZDMC00 bq_brzdxx.zdmc00%type; Begin Select userenv('SESSIONID') PROCESS Into VS_PROCESS from dual where rownum=1; begin Select YGBH00 Into VS_YGBH00 From XT_XTRZ00 Where JCID00=VS_PROCESS And LSH000=(select max(LSH000) from XT_XTRZ00 where JCID00=VS_PROCESS); exception when others then VS_YGBH00:=0; end; SELECT SQ_XT_XTCZRZ_ID0000.NEXTVAL INTO VD_CZID00 FROM DUAL WHERE ROWNUM=1; if DELETING Then Select ZWXM00 Into VS_YSMC00 From BM_YGBM00 Where YGBH00=:OLD.LRR000 And ROWNUM=1; VS_CZNR00 := VS_CZNR00||'原诊断录入医生:'||Trim((VS_YSMC00))||';'; VS_CZNR00 := VS_CZNR00||'诊断名称:'||:old.zdmc00||';ZYID00:'||:old.ZYID00||';ZDM000:'||:old.ZDM000; Insert Into XT_XTCZRZ(CZID00,CZTable,CZLX00,CZRYBM,CZNR00,DATAID) Values(VD_CZID00,'BQ_BRZDXX',2,VS_YGBH00,VS_CZNR00,:OLD.ID0000); End If; Exception When Others Then RAISE_APPLICATION_ERROR(-20004,'数据没有找到!'||SQLERRM); end tr_dzbl_bq_brzdxx_all;