70 lines
3.0 KiB
Plaintext
70 lines
3.0 KiB
Plaintext
CREATE OR REPLACE TRIGGER EFT_NOM.cg$AUS_RULES
|
|
|
|
AFTER UPDATE ON RULES
|
|
DECLARE
|
|
idx BINARY_INTEGER := cg$RULES.cg$table.FIRST;
|
|
cg$old_rec cg$RULES.cg$row_type;
|
|
cg$rec cg$RULES.cg$row_type;
|
|
cg$ind cg$RULES.cg$ind_type;
|
|
BEGIN
|
|
-- Application_logic Pre-After-Update-statement <<Start>>
|
|
-- Application_logic Pre-After-Update-statement << End >>
|
|
|
|
WHILE idx IS NOT NULL LOOP
|
|
cg$old_rec.CREATED_BY := cg$RULES.cg$table(idx).CREATED_BY;
|
|
cg$old_rec.RULE_ID := cg$RULES.cg$table(idx).RULE_ID;
|
|
cg$old_rec.RULE_NAME := cg$RULES.cg$table(idx).RULE_NAME;
|
|
cg$old_rec.LEFT_SIDE := cg$RULES.cg$table(idx).LEFT_SIDE;
|
|
cg$old_rec.RULE_RELATION := cg$RULES.cg$table(idx).RULE_RELATION;
|
|
cg$old_rec.RIGHT_SIDE := cg$RULES.cg$table(idx).RIGHT_SIDE;
|
|
cg$old_rec.ERROR_MESSAGE_HU := cg$RULES.cg$table(idx).ERROR_MESSAGE_HU;
|
|
cg$old_rec.ERROR_MESSAGE_EN := cg$RULES.cg$table(idx).ERROR_MESSAGE_EN;
|
|
cg$old_rec.CREATED_ON := cg$RULES.cg$table(idx).CREATED_ON;
|
|
|
|
IF NOT (cg$RULES.called_from_package) THEN
|
|
idx := cg$RULES.cg$table.NEXT(idx);
|
|
cg$rec.CREATED_BY := cg$RULES.cg$table(idx).CREATED_BY;
|
|
cg$ind.CREATED_BY := updating('CREATED_BY');
|
|
cg$rec.RULE_ID := cg$RULES.cg$table(idx).RULE_ID;
|
|
cg$ind.RULE_ID := updating('RULE_ID');
|
|
cg$rec.RULE_NAME := cg$RULES.cg$table(idx).RULE_NAME;
|
|
cg$ind.RULE_NAME := updating('RULE_NAME');
|
|
cg$rec.LEFT_SIDE := cg$RULES.cg$table(idx).LEFT_SIDE;
|
|
cg$ind.LEFT_SIDE := updating('LEFT_SIDE');
|
|
cg$rec.RULE_RELATION := cg$RULES.cg$table(idx).RULE_RELATION;
|
|
cg$ind.RULE_RELATION := updating('RULE_RELATION');
|
|
cg$rec.RIGHT_SIDE := cg$RULES.cg$table(idx).RIGHT_SIDE;
|
|
cg$ind.RIGHT_SIDE := updating('RIGHT_SIDE');
|
|
cg$rec.ERROR_MESSAGE_HU := cg$RULES.cg$table(idx).ERROR_MESSAGE_HU;
|
|
cg$ind.ERROR_MESSAGE_HU := updating('ERROR_MESSAGE_HU');
|
|
cg$rec.ERROR_MESSAGE_EN := cg$RULES.cg$table(idx).ERROR_MESSAGE_EN;
|
|
cg$ind.ERROR_MESSAGE_EN := updating('ERROR_MESSAGE_EN');
|
|
cg$rec.CREATED_ON := cg$RULES.cg$table(idx).CREATED_ON;
|
|
cg$ind.CREATED_ON := updating('CREATED_ON');
|
|
|
|
cg$RULES.validate_foreign_keys_upd(cg$rec, cg$old_rec, cg$ind);
|
|
|
|
cg$RULES.upd_denorm2( cg$rec,
|
|
cg$RULES.cg$tableind(idx)
|
|
);
|
|
cg$RULES.upd_oper_denorm2( cg$rec,
|
|
cg$old_rec,
|
|
cg$RULES.cg$tableind(idx)
|
|
);
|
|
cg$RULES.cascade_update(cg$rec, cg$old_rec);
|
|
cg$RULES.domain_cascade_update(cg$rec, cg$ind, cg$old_rec);
|
|
|
|
cg$RULES.called_from_package := FALSE;
|
|
END IF;
|
|
idx := cg$RULES.cg$table.NEXT(idx);
|
|
END LOOP;
|
|
|
|
cg$RULES.cg$table.DELETE;
|
|
|
|
-- Application_logic Post-After-Update-statement <<Start>>
|
|
-- Application_logic Post-After-Update-statement << End >>
|
|
|
|
END;
|
|
/
|
|
|