CREATE OR REPLACE TRIGGER TR_SF_SF_BRJFB0_UPDINS BEFORE INSERT OR UPDATE OF ZPZH00 ON SD_SF.SF_BRJFB0 REFERENCING OLD AS OLD NEW AS NEW FOR EACH ROW DECLARE lv_YHKH00 SF_BRJFB0.YHKH00%TYPE; begin lv_YHKH00:=trim(:NEW.ZPZH00); :NEW.YHKH00:=lv_YHKH00; IF INSTR(lv_YHKH00,'=')>0 THEN :NEW.ZPZH00:=SUBSTRB(lv_YHKH00,1,INSTR(lv_YHKH00,'=')-1); -- :NEW.ZPZH00:=SUBSTRB(lv_YHKH00,INSTR(lv_YHKH00,'=')+1,20); ELSE :NEW.ZPZH00:=SUBSTRB(lv_YHKH00,1,20); END IF; IF(:NEW.ZFFS00 ='8' AND :NEW.ZPZH00 IS NULL) THEN :NEW.ZPZH00:=SUBSTRB(:NEW.ZPH000,1,20); END IF; exception WHEN OTHERS THEN RAISE_APPLICATION_ERROR(-20906,substr(nvl(sqlerrm,'出错原因不详'),1,40)||',请记录此信息并和系统管理员联系!'||'!*'); ROLLBACK; end; /