CREATE OR REPLACE TRIGGER EFT_NOM.cg$BDR_GTT_SPREADSHEET BEFORE DELETE ON GTT_SPREADSHEET FOR EACH ROW DECLARE cg$pk cg$GTT_SPREADSHEET.cg$pk_type; cg$rec cg$GTT_SPREADSHEET.cg$row_type; cg$ind cg$GTT_SPREADSHEET.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.SPREADSHEET_ID := :old.SPREADSHEET_ID; cg$rec.SPREADSHEET_ID := :old.SPREADSHEET_ID; cg$GTT_SPREADSHEET.cg$table(cg$GTT_SPREADSHEET.idx).SPREADSHEET_ID := :old.SPREADSHEET_ID; cg$pk.X_AXIS := :old.X_AXIS; cg$rec.X_AXIS := :old.X_AXIS; cg$GTT_SPREADSHEET.cg$table(cg$GTT_SPREADSHEET.idx).X_AXIS := :old.X_AXIS; cg$pk.Y_AXIS := :old.Y_AXIS; cg$rec.Y_AXIS := :old.Y_AXIS; cg$GTT_SPREADSHEET.cg$table(cg$GTT_SPREADSHEET.idx).Y_AXIS := :old.Y_AXIS; cg$GTT_SPREADSHEET.idx := cg$GTT_SPREADSHEET.idx + 1; if not (cg$GTT_SPREADSHEET.called_from_package) then cg$GTT_SPREADSHEET.validate_domain_cascade_delete(cg$rec); cg$GTT_SPREADSHEET.del(cg$pk, FALSE); cg$GTT_SPREADSHEET.called_from_package := FALSE; end if; -- Application_logic Post-Before-Delete-row <> -- Application_logic Post-Before-Delete-row << End >> END; /