81 lines
3.6 KiB
Plaintext
81 lines
3.6 KiB
Plaintext
CREATE OR REPLACE TRIGGER "EFT_NOM".cg$BUR_DEBUG
|
|
|
|
BEFORE UPDATE ON DEBUG FOR EACH ROW
|
|
|
|
|
|
DECLARE
|
|
cg$rec cg$DEBUG.cg$row_type;
|
|
cg$ind cg$DEBUG.cg$ind_type;
|
|
cg$old_rec cg$DEBUG.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.DEBU_ID := :new.DEBU_ID;
|
|
cg$ind.DEBU_ID := (:new.DEBU_ID IS NULL AND :old.DEBU_ID IS NOT NULL )
|
|
OR (:new.DEBU_ID IS NOT NULL AND :old.DEBU_ID IS NULL)
|
|
OR NOT(:new.DEBU_ID = :old.DEBU_ID) ;
|
|
cg$DEBUG.cg$table(cg$DEBUG.idx).DEBU_ID := :old.DEBU_ID;
|
|
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$DEBUG.cg$table(cg$DEBUG.idx).CREATED_BY := :old.CREATED_BY;
|
|
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$DEBUG.cg$table(cg$DEBUG.idx).CREATED_ON := :old.CREATED_ON;
|
|
cg$rec.LINE := :new.LINE;
|
|
cg$ind.LINE := (:new.LINE IS NULL AND :old.LINE IS NOT NULL )
|
|
OR (:new.LINE IS NOT NULL AND :old.LINE IS NULL)
|
|
OR NOT(:new.LINE = :old.LINE) ;
|
|
cg$DEBUG.cg$table(cg$DEBUG.idx).LINE := :old.LINE;
|
|
cg$rec.LINENO := :new.LINENO;
|
|
cg$ind.LINENO := (:new.LINENO IS NULL AND :old.LINENO IS NOT NULL )
|
|
OR (:new.LINENO IS NOT NULL AND :old.LINENO IS NULL)
|
|
OR NOT(:new.LINENO = :old.LINENO) ;
|
|
cg$DEBUG.cg$table(cg$DEBUG.idx).LINENO := :old.LINENO;
|
|
cg$rec.NAME := :new.NAME;
|
|
cg$ind.NAME := (:new.NAME IS NULL AND :old.NAME IS NOT NULL )
|
|
OR (:new.NAME IS NOT NULL AND :old.NAME IS NULL)
|
|
OR NOT(:new.NAME = :old.NAME) ;
|
|
cg$DEBUG.cg$table(cg$DEBUG.idx).NAME := :old.NAME;
|
|
cg$rec.CALLER_TYPE := :new.CALLER_TYPE;
|
|
cg$ind.CALLER_TYPE := (:new.CALLER_TYPE IS NULL AND :old.CALLER_TYPE IS NOT NULL )
|
|
OR (:new.CALLER_TYPE IS NOT NULL AND :old.CALLER_TYPE IS NULL)
|
|
OR NOT(:new.CALLER_TYPE = :old.CALLER_TYPE) ;
|
|
cg$DEBUG.cg$table(cg$DEBUG.idx).CALLER_TYPE := :old.CALLER_TYPE;
|
|
cg$rec.OWNER := :new.OWNER;
|
|
cg$ind.OWNER := (:new.OWNER IS NULL AND :old.OWNER IS NOT NULL )
|
|
OR (:new.OWNER IS NOT NULL AND :old.OWNER IS NULL)
|
|
OR NOT(:new.OWNER = :old.OWNER) ;
|
|
cg$DEBUG.cg$table(cg$DEBUG.idx).OWNER := :old.OWNER;
|
|
|
|
|
|
cg$DEBUG.idx := cg$DEBUG.idx + 1;
|
|
|
|
if not (cg$DEBUG.called_from_package) then
|
|
cg$DEBUG.validate_arc(cg$rec);
|
|
cg$DEBUG.validate_domain(cg$rec, cg$ind);
|
|
cg$DEBUG.validate_domain_cascade_update(cg$old_rec);
|
|
|
|
cg$DEBUG.upd(cg$rec, cg$ind, FALSE);
|
|
cg$DEBUG.called_from_package := FALSE;
|
|
end if;
|
|
|
|
:new.CREATED_BY := cg$rec.CREATED_BY;
|
|
:new.CREATED_ON := cg$rec.CREATED_ON;
|
|
:new.LINE := cg$rec.LINE;
|
|
:new.LINENO := cg$rec.LINENO;
|
|
:new.NAME := cg$rec.NAME;
|
|
:new.CALLER_TYPE := cg$rec.CALLER_TYPE;
|
|
:new.OWNER := cg$rec.OWNER;
|
|
-- Application_logic Post-Before-Update-row <<Start>>
|
|
-- Application_logic Post-Before-Update-row << End >>
|
|
END;
|
|
/
|
|
|