Files
mip/Data/BulkLoad/EFT/Nominations/plsql/cg$bur_documents.trg

90 lines
4.5 KiB
Plaintext

CREATE OR REPLACE TRIGGER "EFT_NOM".cg$BUR_DOCUMENTS
BEFORE UPDATE ON DOCUMENTS FOR EACH ROW
DECLARE
cg$rec cg$DOCUMENTS.cg$row_type;
cg$ind cg$DOCUMENTS.cg$ind_type;
cg$old_rec cg$DOCUMENTS.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.DOCU_ID := :new.DOCU_ID;
cg$ind.DOCU_ID := (:new.DOCU_ID IS NULL AND :old.DOCU_ID IS NOT NULL )
OR (:new.DOCU_ID IS NOT NULL AND :old.DOCU_ID IS NULL)
OR NOT(:new.DOCU_ID = :old.DOCU_ID) ;
cg$DOCUMENTS.cg$table(cg$DOCUMENTS.idx).DOCU_ID := :old.DOCU_ID;
-- Warning: Column BLOB_CONTENT is of type BLOB and not allowed in triggers
cg$ind.BLOB_CONTENT := FALSE;
cg$rec.CONTENT_TYPE := :new.CONTENT_TYPE;
cg$ind.CONTENT_TYPE := (:new.CONTENT_TYPE IS NULL AND :old.CONTENT_TYPE IS NOT NULL )
OR (:new.CONTENT_TYPE IS NOT NULL AND :old.CONTENT_TYPE IS NULL)
OR NOT(:new.CONTENT_TYPE = :old.CONTENT_TYPE) ;
cg$DOCUMENTS.cg$table(cg$DOCUMENTS.idx).CONTENT_TYPE := :old.CONTENT_TYPE;
cg$rec.LAST_UPDATED := :new.LAST_UPDATED;
cg$ind.LAST_UPDATED := (:new.LAST_UPDATED IS NULL AND :old.LAST_UPDATED IS NOT NULL )
OR (:new.LAST_UPDATED IS NOT NULL AND :old.LAST_UPDATED IS NULL)
OR NOT(:new.LAST_UPDATED = :old.LAST_UPDATED) ;
cg$DOCUMENTS.cg$table(cg$DOCUMENTS.idx).LAST_UPDATED := :old.LAST_UPDATED;
cg$rec.MIME_TYPE := :new.MIME_TYPE;
cg$ind.MIME_TYPE := (:new.MIME_TYPE IS NULL AND :old.MIME_TYPE IS NOT NULL )
OR (:new.MIME_TYPE IS NOT NULL AND :old.MIME_TYPE IS NULL)
OR NOT(:new.MIME_TYPE = :old.MIME_TYPE) ;
cg$DOCUMENTS.cg$table(cg$DOCUMENTS.idx).MIME_TYPE := :old.MIME_TYPE;
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$DOCUMENTS.cg$table(cg$DOCUMENTS.idx).NAME := :old.NAME;
cg$rec.DOC_SIZE := :new.DOC_SIZE;
cg$ind.DOC_SIZE := (:new.DOC_SIZE IS NULL AND :old.DOC_SIZE IS NOT NULL )
OR (:new.DOC_SIZE IS NOT NULL AND :old.DOC_SIZE IS NULL)
OR NOT(:new.DOC_SIZE = :old.DOC_SIZE) ;
cg$DOCUMENTS.cg$table(cg$DOCUMENTS.idx).DOC_SIZE := :old.DOC_SIZE;
cg$rec.DAD_CHARSET := :new.DAD_CHARSET;
cg$ind.DAD_CHARSET := (:new.DAD_CHARSET IS NULL AND :old.DAD_CHARSET IS NOT NULL )
OR (:new.DAD_CHARSET IS NOT NULL AND :old.DAD_CHARSET IS NULL)
OR NOT(:new.DAD_CHARSET = :old.DAD_CHARSET) ;
cg$DOCUMENTS.cg$table(cg$DOCUMENTS.idx).DAD_CHARSET := :old.DAD_CHARSET;
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$DOCUMENTS.cg$table(cg$DOCUMENTS.idx).DESCRIPTION := :old.DESCRIPTION;
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$DOCUMENTS.cg$table(cg$DOCUMENTS.idx).LANGUAGE := :old.LANGUAGE;
cg$DOCUMENTS.idx := cg$DOCUMENTS.idx + 1;
if not (cg$DOCUMENTS.called_from_package) then
cg$DOCUMENTS.validate_arc(cg$rec);
cg$DOCUMENTS.validate_domain(cg$rec, cg$ind);
cg$DOCUMENTS.validate_domain_cascade_update(cg$old_rec);
cg$DOCUMENTS.upd(cg$rec, cg$ind, FALSE);
cg$DOCUMENTS.called_from_package := FALSE;
end if;
-- Warning: Column BLOB_CONTENT is of type BLOB and not allowed in triggers
:new.CONTENT_TYPE := cg$rec.CONTENT_TYPE;
:new.LAST_UPDATED := cg$rec.LAST_UPDATED;
:new.MIME_TYPE := cg$rec.MIME_TYPE;
:new.NAME := cg$rec.NAME;
:new.DOC_SIZE := cg$rec.DOC_SIZE;
:new.DAD_CHARSET := cg$rec.DAD_CHARSET;
:new.DESCRIPTION := cg$rec.DESCRIPTION;
:new.LANGUAGE := cg$rec.LANGUAGE;
-- Application_logic Post-Before-Update-row <<Start>>
-- Application_logic Post-Before-Update-row << End >>
END;
/