57 lines
2.6 KiB
Plaintext
57 lines
2.6 KiB
Plaintext
CREATE OR REPLACE TRIGGER "EFT_NOM".cg$BUR_SYSTEM_CONFIGURATION
|
|
|
|
BEFORE UPDATE ON SYSTEM_CONFIGURATION FOR EACH ROW
|
|
|
|
|
|
DECLARE
|
|
cg$rec cg$SYSTEM_CONFIGURATION.cg$row_type;
|
|
cg$ind cg$SYSTEM_CONFIGURATION.cg$ind_type;
|
|
cg$old_rec cg$SYSTEM_CONFIGURATION.cg$row_type;
|
|
BEGIN
|
|
-- Application_logic Pre-Before-Update-row <<Start>>
|
|
-- Application_logic Pre-Before-Update-row << End >>
|
|
|
|
-- Load cg$rec/cg$ind values from new
|
|
|
|
cg$rec.SYCO_ID := :new.SYCO_ID;
|
|
cg$ind.SYCO_ID := (:new.SYCO_ID IS NULL AND :old.SYCO_ID IS NOT NULL )
|
|
OR (:new.SYCO_ID IS NOT NULL AND :old.SYCO_ID IS NULL)
|
|
OR NOT(:new.SYCO_ID = :old.SYCO_ID) ;
|
|
cg$SYSTEM_CONFIGURATION.cg$table(cg$SYSTEM_CONFIGURATION.idx).SYCO_ID := :old.SYCO_ID;
|
|
cg$rec.PARAMETER := :new.PARAMETER;
|
|
cg$ind.PARAMETER := (:new.PARAMETER IS NULL AND :old.PARAMETER IS NOT NULL )
|
|
OR (:new.PARAMETER IS NOT NULL AND :old.PARAMETER IS NULL)
|
|
OR NOT(:new.PARAMETER = :old.PARAMETER) ;
|
|
cg$SYSTEM_CONFIGURATION.cg$table(cg$SYSTEM_CONFIGURATION.idx).PARAMETER := :old.PARAMETER;
|
|
cg$rec.VALUE := :new.VALUE;
|
|
cg$ind.VALUE := (:new.VALUE IS NULL AND :old.VALUE IS NOT NULL )
|
|
OR (:new.VALUE IS NOT NULL AND :old.VALUE IS NULL)
|
|
OR NOT(:new.VALUE = :old.VALUE) ;
|
|
cg$SYSTEM_CONFIGURATION.cg$table(cg$SYSTEM_CONFIGURATION.idx).VALUE := :old.VALUE;
|
|
cg$rec.DESCRIPTION := :new.DESCRIPTION;
|
|
cg$ind.DESCRIPTION := (:new.DESCRIPTION IS NULL AND :old.DESCRIPTION IS NOT NULL )
|
|
OR (:new.DESCRIPTION IS NOT NULL AND :old.DESCRIPTION IS NULL)
|
|
OR NOT(:new.DESCRIPTION = :old.DESCRIPTION) ;
|
|
cg$SYSTEM_CONFIGURATION.cg$table(cg$SYSTEM_CONFIGURATION.idx).DESCRIPTION := :old.DESCRIPTION;
|
|
|
|
|
|
cg$SYSTEM_CONFIGURATION.idx := cg$SYSTEM_CONFIGURATION.idx + 1;
|
|
|
|
if not (cg$SYSTEM_CONFIGURATION.called_from_package) then
|
|
cg$SYSTEM_CONFIGURATION.validate_arc(cg$rec);
|
|
cg$SYSTEM_CONFIGURATION.validate_domain(cg$rec, cg$ind);
|
|
cg$SYSTEM_CONFIGURATION.validate_domain_cascade_update(cg$old_rec);
|
|
|
|
cg$SYSTEM_CONFIGURATION.upd(cg$rec, cg$ind, FALSE);
|
|
cg$SYSTEM_CONFIGURATION.called_from_package := FALSE;
|
|
end if;
|
|
|
|
:new.PARAMETER := cg$rec.PARAMETER;
|
|
:new.VALUE := cg$rec.VALUE;
|
|
:new.DESCRIPTION := cg$rec.DESCRIPTION;
|
|
-- Application_logic Post-Before-Update-row <<Start>>
|
|
-- Application_logic Post-Before-Update-row << End >>
|
|
END;
|
|
/
|
|
|