CREATE OR REPLACE TRIGGER EFT_NOM.cg$BDR_CONTRACT_TEMPLATE_PARAM BEFORE DELETE ON CONTRACT_TEMPLATE_PARAMS FOR EACH ROW DECLARE cg$pk cg$CONTRACT_TEMPLATE_PARAMS.cg$pk_type; cg$rec cg$CONTRACT_TEMPLATE_PARAMS.cg$row_type; cg$ind cg$CONTRACT_TEMPLATE_PARAMS.cg$ind_type; BEGIN -- Application_logic Pre-Before-Delete-row <> -- Application_logic Pre-Before-Delete-row << End >> -- Load cg$rec/cg$ind values from new cg$pk.COTP_ID := :old.COTP_ID; cg$rec.COTP_ID := :old.COTP_ID; cg$CONTRACT_TEMPLATE_PARAMS.cg$table(cg$CONTRACT_TEMPLATE_PARAMS.idx).COTP_ID := :old.COTP_ID; cg$rec.COTE_ID := :old.COTE_ID; cg$CONTRACT_TEMPLATE_PARAMS.cg$table(cg$CONTRACT_TEMPLATE_PARAMS.idx).COTE_ID := :old.COTE_ID; cg$rec.PARS_ID := :old.PARS_ID; cg$CONTRACT_TEMPLATE_PARAMS.cg$table(cg$CONTRACT_TEMPLATE_PARAMS.idx).PARS_ID := :old.PARS_ID; cg$CONTRACT_TEMPLATE_PARAMS.idx := cg$CONTRACT_TEMPLATE_PARAMS.idx + 1; if not (cg$CONTRACT_TEMPLATE_PARAMS.called_from_package) then cg$CONTRACT_TEMPLATE_PARAMS.validate_domain_cascade_delete(cg$rec); cg$CONTRACT_TEMPLATE_PARAMS.del(cg$pk, FALSE); cg$CONTRACT_TEMPLATE_PARAMS.called_from_package := FALSE; end if; -- Application_logic Post-Before-Delete-row <> -- Application_logic Post-Before-Delete-row << End >> END; /