57 lines
2.3 KiB
Plaintext
57 lines
2.3 KiB
Plaintext
CREATE OR REPLACE TRIGGER "EFT_NOM".cg$BUR_MODULE_TEXT
|
|
|
|
BEFORE UPDATE ON MODULE_TEXT FOR EACH ROW
|
|
|
|
|
|
DECLARE
|
|
cg$rec cg$MODULE_TEXT.cg$row_type;
|
|
cg$ind cg$MODULE_TEXT.cg$ind_type;
|
|
cg$old_rec cg$MODULE_TEXT.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.MTXT_ID := :new.MTXT_ID;
|
|
cg$ind.MTXT_ID := (:new.MTXT_ID IS NULL AND :old.MTXT_ID IS NOT NULL )
|
|
OR (:new.MTXT_ID IS NOT NULL AND :old.MTXT_ID IS NULL)
|
|
OR NOT(:new.MTXT_ID = :old.MTXT_ID) ;
|
|
cg$MODULE_TEXT.cg$table(cg$MODULE_TEXT.idx).MTXT_ID := :old.MTXT_ID;
|
|
cg$rec.TEXT_NUMBER := :new.TEXT_NUMBER;
|
|
cg$ind.TEXT_NUMBER := (:new.TEXT_NUMBER IS NULL AND :old.TEXT_NUMBER IS NOT NULL )
|
|
OR (:new.TEXT_NUMBER IS NOT NULL AND :old.TEXT_NUMBER IS NULL)
|
|
OR NOT(:new.TEXT_NUMBER = :old.TEXT_NUMBER) ;
|
|
cg$MODULE_TEXT.cg$table(cg$MODULE_TEXT.idx).TEXT_NUMBER := :old.TEXT_NUMBER;
|
|
cg$rec.TEXT := :new.TEXT;
|
|
cg$ind.TEXT := (:new.TEXT IS NULL AND :old.TEXT IS NOT NULL )
|
|
OR (:new.TEXT IS NOT NULL AND :old.TEXT IS NULL)
|
|
OR NOT(:new.TEXT = :old.TEXT) ;
|
|
cg$MODULE_TEXT.cg$table(cg$MODULE_TEXT.idx).TEXT := :old.TEXT;
|
|
cg$rec.LANGUAGE := :new.LANGUAGE;
|
|
cg$ind.LANGUAGE := (:new.LANGUAGE IS NULL AND :old.LANGUAGE IS NOT NULL )
|
|
OR (:new.LANGUAGE IS NOT NULL AND :old.LANGUAGE IS NULL)
|
|
OR NOT(:new.LANGUAGE = :old.LANGUAGE) ;
|
|
cg$MODULE_TEXT.cg$table(cg$MODULE_TEXT.idx).LANGUAGE := :old.LANGUAGE;
|
|
|
|
|
|
cg$MODULE_TEXT.idx := cg$MODULE_TEXT.idx + 1;
|
|
|
|
if not (cg$MODULE_TEXT.called_from_package) then
|
|
cg$MODULE_TEXT.validate_arc(cg$rec);
|
|
cg$MODULE_TEXT.validate_domain(cg$rec, cg$ind);
|
|
cg$MODULE_TEXT.validate_domain_cascade_update(cg$old_rec);
|
|
|
|
cg$MODULE_TEXT.upd(cg$rec, cg$ind, FALSE);
|
|
cg$MODULE_TEXT.called_from_package := FALSE;
|
|
end if;
|
|
|
|
:new.TEXT_NUMBER := cg$rec.TEXT_NUMBER;
|
|
:new.TEXT := cg$rec.TEXT;
|
|
:new.LANGUAGE := cg$rec.LANGUAGE;
|
|
-- Application_logic Post-Before-Update-row <<Start>>
|
|
-- Application_logic Post-Before-Update-row << End >>
|
|
END;
|
|
/
|
|
|