PROMPT Creating Trigger Logic for Table 'NOMINATIONS' PROMPT Creating Before Insert Statement Trigger on 'NOMINATIONS' CREATE OR REPLACE TRIGGER cg$BIS_NOMINATIONS BEFORE INSERT ON NOMINATIONS BEGIN -- Application_logic Pre-Before-Insert-statement <> -- Application_logic Pre-Before-Insert-statement << End >> cg$NOMINATIONS.cg$table.DELETE; cg$NOMINATIONS.cg$tableind.DELETE; cg$NOMINATIONS.idx := 1; -- Application_logic Post-Before-Insert-statement <> -- Application_logic Post-Before-Insert-statement << End >> END; / PROMPT Creating Before Insert Row Trigger on 'NOMINATIONS' CREATE OR REPLACE TRIGGER cg$BIR_NOMINATIONS BEFORE INSERT ON NOMINATIONS FOR EACH ROW DECLARE cg$rec cg$NOMINATIONS.cg$row_type; cg$ind cg$NOMINATIONS.cg$ind_type; BEGIN -- Application_logic Pre-Before-Insert-row <> -- Application_logic Pre-Before-Insert-row << End >> -- Load cg$rec/cg$ind values from new cg$rec.CREATED_BY := :new.CREATED_BY; IF (:new.CREATED_BY IS NULL) THEN cg$ind.CREATED_BY := FALSE; ELSE cg$ind.CREATED_BY := TRUE; END IF; cg$rec.NOMI_ID := :new.NOMI_ID; cg$ind.NOMI_ID := TRUE; cg$rec.STATUS := :new.STATUS; cg$ind.STATUS := TRUE; cg$rec.IDENTIFIER := :new.IDENTIFIER; cg$ind.IDENTIFIER := TRUE; cg$rec.CONT_ID := :new.CONT_ID; cg$ind.CONT_ID := TRUE; cg$rec.CREATED_ON := :new.CREATED_ON; IF (:new.CREATED_ON IS NULL) THEN cg$ind.CREATED_ON := FALSE; ELSE cg$ind.CREATED_ON := TRUE; END IF; if not (cg$NOMINATIONS.called_from_package) then cg$NOMINATIONS.validate_arc(cg$rec); cg$NOMINATIONS.validate_domain(cg$rec); cg$NOMINATIONS.ins(cg$rec, cg$ind, FALSE); cg$NOMINATIONS.called_from_package := FALSE; end if; cg$NOMINATIONS.cg$table(cg$NOMINATIONS.idx).CREATED_BY := cg$rec.CREATED_BY; cg$NOMINATIONS.cg$tableind(cg$NOMINATIONS.idx).CREATED_BY := cg$ind.CREATED_BY; cg$NOMINATIONS.cg$table(cg$NOMINATIONS.idx).NOMI_ID := cg$rec.NOMI_ID; cg$NOMINATIONS.cg$tableind(cg$NOMINATIONS.idx).NOMI_ID := cg$ind.NOMI_ID; cg$NOMINATIONS.cg$table(cg$NOMINATIONS.idx).STATUS := cg$rec.STATUS; cg$NOMINATIONS.cg$tableind(cg$NOMINATIONS.idx).STATUS := cg$ind.STATUS; cg$NOMINATIONS.cg$table(cg$NOMINATIONS.idx).IDENTIFIER := cg$rec.IDENTIFIER; cg$NOMINATIONS.cg$tableind(cg$NOMINATIONS.idx).IDENTIFIER := cg$ind.IDENTIFIER; cg$NOMINATIONS.cg$table(cg$NOMINATIONS.idx).CONT_ID := cg$rec.CONT_ID; cg$NOMINATIONS.cg$tableind(cg$NOMINATIONS.idx).CONT_ID := cg$ind.CONT_ID; cg$NOMINATIONS.cg$table(cg$NOMINATIONS.idx).CREATED_ON := cg$rec.CREATED_ON; cg$NOMINATIONS.cg$tableind(cg$NOMINATIONS.idx).CREATED_ON := cg$ind.CREATED_ON; cg$NOMINATIONS.idx := cg$NOMINATIONS.idx + 1; :new.CREATED_BY := cg$rec.CREATED_BY; :new.NOMI_ID := cg$rec.NOMI_ID; :new.STATUS := cg$rec.STATUS; :new.IDENTIFIER := cg$rec.IDENTIFIER; :new.CONT_ID := cg$rec.CONT_ID; :new.CREATED_ON := cg$rec.CREATED_ON; -- Application_logic Post-Before-Insert-row <> -- Application_logic Post-Before-Insert-row << End >> END; / -- No application logic defined for Trigger cg$AIR_NOMINATIONS, so drop it. -- To avoid an error if there isn't one, create or replace it, and then drop it CREATE OR REPLACE TRIGGER cg$AIR_NOMINATIONS AFTER INSERT ON NOMINATIONS FOR EACH ROW BEGIN null; END; / drop trigger cg$AIR_NOMINATIONS / PROMPT Creating After Insert Statement Trigger on 'NOMINATIONS' CREATE OR REPLACE TRIGGER cg$AIS_NOMINATIONS AFTER INSERT ON NOMINATIONS DECLARE idx BINARY_INTEGER := cg$NOMINATIONS.cg$table.FIRST; cg$rec cg$NOMINATIONS.cg$row_type; cg$old_rec cg$NOMINATIONS.cg$row_type; fk_check INTEGER; BEGIN -- Application_logic Pre-After-Insert-statement <> -- Application_logic Pre-After-Insert-statement << End >> IF NOT (cg$NOMINATIONS.called_from_package) THEN WHILE idx IS NOT NULL LOOP cg$rec.CREATED_BY := cg$NOMINATIONS.cg$table(idx).CREATED_BY; cg$rec.NOMI_ID := cg$NOMINATIONS.cg$table(idx).NOMI_ID; cg$rec.STATUS := cg$NOMINATIONS.cg$table(idx).STATUS; cg$rec.IDENTIFIER := cg$NOMINATIONS.cg$table(idx).IDENTIFIER; cg$rec.CONT_ID := cg$NOMINATIONS.cg$table(idx).CONT_ID; cg$rec.CREATED_ON := cg$NOMINATIONS.cg$table(idx).CREATED_ON; cg$NOMINATIONS.validate_foreign_keys_ins(cg$rec); cg$NOMINATIONS.upd_oper_denorm2( cg$rec, cg$old_rec, cg$NOMINATIONS.cg$tableind(idx), 'INS' ); idx := cg$NOMINATIONS.cg$table.NEXT(idx); END LOOP; END IF; -- Application_logic Post-After-Insert-statement <> -- Application_logic Post-After-Insert-statement << End >> END; / PROMPT Creating Before Update Statement Trigger on 'NOMINATIONS' CREATE OR REPLACE TRIGGER cg$BUS_NOMINATIONS BEFORE UPDATE ON NOMINATIONS BEGIN -- Application_logic Pre-Before-Update-statement <> -- Application_logic Pre-Before-Update-statement << End >> cg$NOMINATIONS.cg$table.DELETE; cg$NOMINATIONS.cg$tableind.DELETE; cg$NOMINATIONS.idx := 1; -- Application_logic Post-Before-Update-statement <> -- Application_logic Post-Before-Update-statement << End >> END; / PROMPT Creating Before Update Row Trigger on 'NOMINATIONS' CREATE OR REPLACE TRIGGER cg$BUR_NOMINATIONS BEFORE UPDATE ON NOMINATIONS FOR EACH ROW DECLARE cg$rec cg$NOMINATIONS.cg$row_type; cg$ind cg$NOMINATIONS.cg$ind_type; cg$old_rec cg$NOMINATIONS.cg$row_type; BEGIN -- Application_logic Pre-Before-Update-row <> -- Application_logic Pre-Before-Update-row << End >> -- Load cg$rec/cg$ind values from new cg$rec.CREATED_BY := :new.CREATED_BY; cg$ind.CREATED_BY := (:new.CREATED_BY IS NULL AND :old.CREATED_BY IS NOT NULL ) OR (:new.CREATED_BY IS NOT NULL AND :old.CREATED_BY IS NULL) OR NOT(:new.CREATED_BY = :old.CREATED_BY) ; cg$NOMINATIONS.cg$table(cg$NOMINATIONS.idx).CREATED_BY := :old.CREATED_BY; cg$rec.NOMI_ID := :new.NOMI_ID; cg$ind.NOMI_ID := (:new.NOMI_ID IS NULL AND :old.NOMI_ID IS NOT NULL ) OR (:new.NOMI_ID IS NOT NULL AND :old.NOMI_ID IS NULL) OR NOT(:new.NOMI_ID = :old.NOMI_ID) ; cg$NOMINATIONS.cg$table(cg$NOMINATIONS.idx).NOMI_ID := :old.NOMI_ID; cg$rec.STATUS := :new.STATUS; cg$ind.STATUS := (:new.STATUS IS NULL AND :old.STATUS IS NOT NULL ) OR (:new.STATUS IS NOT NULL AND :old.STATUS IS NULL) OR NOT(:new.STATUS = :old.STATUS) ; cg$NOMINATIONS.cg$table(cg$NOMINATIONS.idx).STATUS := :old.STATUS; cg$rec.IDENTIFIER := :new.IDENTIFIER; cg$ind.IDENTIFIER := (:new.IDENTIFIER IS NULL AND :old.IDENTIFIER IS NOT NULL ) OR (:new.IDENTIFIER IS NOT NULL AND :old.IDENTIFIER IS NULL) OR NOT(:new.IDENTIFIER = :old.IDENTIFIER) ; cg$NOMINATIONS.cg$table(cg$NOMINATIONS.idx).IDENTIFIER := :old.IDENTIFIER; cg$rec.CONT_ID := :new.CONT_ID; cg$ind.CONT_ID := (:new.CONT_ID IS NULL AND :old.CONT_ID IS NOT NULL ) OR (:new.CONT_ID IS NOT NULL AND :old.CONT_ID IS NULL) OR NOT(:new.CONT_ID = :old.CONT_ID) ; cg$NOMINATIONS.cg$table(cg$NOMINATIONS.idx).CONT_ID := :old.CONT_ID; cg$rec.CREATED_ON := :new.CREATED_ON; cg$ind.CREATED_ON := (:new.CREATED_ON IS NULL AND :old.CREATED_ON IS NOT NULL ) OR (:new.CREATED_ON IS NOT NULL AND :old.CREATED_ON IS NULL) OR NOT(:new.CREATED_ON = :old.CREATED_ON) ; cg$NOMINATIONS.cg$table(cg$NOMINATIONS.idx).CREATED_ON := :old.CREATED_ON; cg$NOMINATIONS.idx := cg$NOMINATIONS.idx + 1; if not (cg$NOMINATIONS.called_from_package) then cg$NOMINATIONS.validate_arc(cg$rec); cg$NOMINATIONS.validate_domain(cg$rec, cg$ind); cg$NOMINATIONS.validate_domain_cascade_update(cg$old_rec); cg$NOMINATIONS.upd(cg$rec, cg$ind, FALSE); cg$NOMINATIONS.called_from_package := FALSE; end if; :new.CREATED_BY := cg$rec.CREATED_BY; :new.STATUS := cg$rec.STATUS; :new.IDENTIFIER := cg$rec.IDENTIFIER; :new.CONT_ID := cg$rec.CONT_ID; :new.CREATED_ON := cg$rec.CREATED_ON; -- Application_logic Post-Before-Update-row <> -- Application_logic Post-Before-Update-row << End >> END; / -- No application logic defined for Trigger cg$AUR_NOMINATIONS, so drop it. -- To avoid an error if there isn't one, create or replace it, and then drop it CREATE OR REPLACE TRIGGER cg$AUR_NOMINATIONS AFTER UPDATE ON NOMINATIONS FOR EACH ROW BEGIN null; END; / drop trigger cg$AUR_NOMINATIONS / PROMPT Creating After Update Statement Trigger on 'NOMINATIONS' CREATE OR REPLACE TRIGGER cg$AUS_NOMINATIONS AFTER UPDATE ON NOMINATIONS DECLARE idx BINARY_INTEGER := cg$NOMINATIONS.cg$table.FIRST; cg$old_rec cg$NOMINATIONS.cg$row_type; cg$rec cg$NOMINATIONS.cg$row_type; cg$ind cg$NOMINATIONS.cg$ind_type; BEGIN -- Application_logic Pre-After-Update-statement <> -- Application_logic Pre-After-Update-statement << End >> WHILE idx IS NOT NULL LOOP cg$old_rec.CREATED_BY := cg$NOMINATIONS.cg$table(idx).CREATED_BY; cg$old_rec.NOMI_ID := cg$NOMINATIONS.cg$table(idx).NOMI_ID; cg$old_rec.STATUS := cg$NOMINATIONS.cg$table(idx).STATUS; cg$old_rec.IDENTIFIER := cg$NOMINATIONS.cg$table(idx).IDENTIFIER; cg$old_rec.CONT_ID := cg$NOMINATIONS.cg$table(idx).CONT_ID; cg$old_rec.CREATED_ON := cg$NOMINATIONS.cg$table(idx).CREATED_ON; IF NOT (cg$NOMINATIONS.called_from_package) THEN idx := cg$NOMINATIONS.cg$table.NEXT(idx); cg$rec.CREATED_BY := cg$NOMINATIONS.cg$table(idx).CREATED_BY; cg$ind.CREATED_BY := updating('CREATED_BY'); cg$rec.NOMI_ID := cg$NOMINATIONS.cg$table(idx).NOMI_ID; cg$ind.NOMI_ID := updating('NOMI_ID'); cg$rec.STATUS := cg$NOMINATIONS.cg$table(idx).STATUS; cg$ind.STATUS := updating('STATUS'); cg$rec.IDENTIFIER := cg$NOMINATIONS.cg$table(idx).IDENTIFIER; cg$ind.IDENTIFIER := updating('IDENTIFIER'); cg$rec.CONT_ID := cg$NOMINATIONS.cg$table(idx).CONT_ID; cg$ind.CONT_ID := updating('CONT_ID'); cg$rec.CREATED_ON := cg$NOMINATIONS.cg$table(idx).CREATED_ON; cg$ind.CREATED_ON := updating('CREATED_ON'); cg$NOMINATIONS.validate_foreign_keys_upd(cg$rec, cg$old_rec, cg$ind); cg$NOMINATIONS.upd_denorm2( cg$rec, cg$NOMINATIONS.cg$tableind(idx) ); cg$NOMINATIONS.upd_oper_denorm2( cg$rec, cg$old_rec, cg$NOMINATIONS.cg$tableind(idx) ); cg$NOMINATIONS.cascade_update(cg$rec, cg$old_rec); cg$NOMINATIONS.domain_cascade_update(cg$rec, cg$ind, cg$old_rec); cg$NOMINATIONS.called_from_package := FALSE; END IF; idx := cg$NOMINATIONS.cg$table.NEXT(idx); END LOOP; cg$NOMINATIONS.cg$table.DELETE; -- Application_logic Post-After-Update-statement <> -- Application_logic Post-After-Update-statement << End >> END; / PROMPT Creating Before Delete Statement Trigger on 'NOMINATIONS' CREATE OR REPLACE TRIGGER cg$BDS_NOMINATIONS BEFORE DELETE ON NOMINATIONS BEGIN -- Application_logic Pre-Before-Delete-statement <> -- Application_logic Pre-Before-Delete-statement << End >> cg$NOMINATIONS.cg$table.DELETE; cg$NOMINATIONS.cg$tableind.DELETE; cg$NOMINATIONS.idx := 1; -- Application_logic Post-Before-Delete-statement <> -- Application_logic Post-Before-Delete-statement << End >> END; / PROMPT Creating Before Delete Row Trigger on 'NOMINATIONS' CREATE OR REPLACE TRIGGER cg$BDR_NOMINATIONS BEFORE DELETE ON NOMINATIONS FOR EACH ROW DECLARE cg$pk cg$NOMINATIONS.cg$pk_type; cg$rec cg$NOMINATIONS.cg$row_type; cg$ind cg$NOMINATIONS.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.NOMI_ID := :old.NOMI_ID; cg$rec.NOMI_ID := :old.NOMI_ID; cg$NOMINATIONS.cg$table(cg$NOMINATIONS.idx).NOMI_ID := :old.NOMI_ID; cg$rec.CONT_ID := :old.CONT_ID; cg$NOMINATIONS.cg$table(cg$NOMINATIONS.idx).CONT_ID := :old.CONT_ID; cg$NOMINATIONS.idx := cg$NOMINATIONS.idx + 1; if not (cg$NOMINATIONS.called_from_package) then cg$NOMINATIONS.validate_domain_cascade_delete(cg$rec); cg$NOMINATIONS.del(cg$pk, FALSE); cg$NOMINATIONS.called_from_package := FALSE; end if; -- Application_logic Post-Before-Delete-row <> -- Application_logic Post-Before-Delete-row << End >> END; / -- No application logic defined for Trigger cg$ADR_NOMINATIONS, so drop it. -- To avoid an error if there isn't one, create or replace it, and then drop it CREATE OR REPLACE TRIGGER cg$ADR_NOMINATIONS AFTER DELETE ON NOMINATIONS FOR EACH ROW BEGIN null; END; / drop trigger cg$ADR_NOMINATIONS / PROMPT Creating After Delete Statement Trigger on 'NOMINATIONS' CREATE OR REPLACE TRIGGER cg$ADS_NOMINATIONS AFTER DELETE ON NOMINATIONS DECLARE idx BINARY_INTEGER := cg$NOMINATIONS.cg$table.FIRST; cg$rec cg$NOMINATIONS.cg$row_type; cg$old_rec cg$NOMINATIONS.cg$row_type; BEGIN -- Application_logic Pre-After-Delete-statement <> -- Application_logic Pre-After-Delete-statement << End >> IF NOT (cg$NOMINATIONS.called_from_package) THEN WHILE idx IS NOT NULL LOOP cg$rec.CREATED_BY := cg$NOMINATIONS.cg$table(idx).CREATED_BY; cg$NOMINATIONS.cg$tableind(idx).CREATED_BY := TRUE; cg$rec.NOMI_ID := cg$NOMINATIONS.cg$table(idx).NOMI_ID; cg$NOMINATIONS.cg$tableind(idx).NOMI_ID := TRUE; cg$rec.STATUS := cg$NOMINATIONS.cg$table(idx).STATUS; cg$NOMINATIONS.cg$tableind(idx).STATUS := TRUE; cg$rec.IDENTIFIER := cg$NOMINATIONS.cg$table(idx).IDENTIFIER; cg$NOMINATIONS.cg$tableind(idx).IDENTIFIER := TRUE; cg$rec.CONT_ID := cg$NOMINATIONS.cg$table(idx).CONT_ID; cg$NOMINATIONS.cg$tableind(idx).CONT_ID := TRUE; cg$rec.CREATED_ON := cg$NOMINATIONS.cg$table(idx).CREATED_ON; cg$NOMINATIONS.cg$tableind(idx).CREATED_ON := TRUE; cg$NOMINATIONS.validate_foreign_keys_del(cg$rec); cg$NOMINATIONS.upd_oper_denorm2( cg$rec, cg$old_rec, cg$NOMINATIONS.cg$tableind(idx), 'DEL' ); cg$NOMINATIONS.cascade_delete(cg$rec); cg$NOMINATIONS.domain_cascade_delete(cg$rec); idx := cg$NOMINATIONS.cg$table.NEXT(idx); END LOOP; END IF; -- Application_logic Post-After-Delete-statement <> -- Application_logic Post-After-Delete-statement << End >> END; /