75 lines
3.3 KiB
Plaintext
75 lines
3.3 KiB
Plaintext
CREATE OR REPLACE TRIGGER "EFT_NOM".cg$AUS_DOCUMENTS
|
|
|
|
AFTER UPDATE ON DOCUMENTS
|
|
|
|
|
|
DECLARE
|
|
idx BINARY_INTEGER := cg$DOCUMENTS.cg$table.FIRST;
|
|
cg$old_rec cg$DOCUMENTS.cg$row_type;
|
|
cg$rec cg$DOCUMENTS.cg$row_type;
|
|
cg$ind cg$DOCUMENTS.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.DOCU_ID := cg$DOCUMENTS.cg$table(idx).DOCU_ID;
|
|
cg$old_rec.BLOB_CONTENT := cg$DOCUMENTS.cg$table(idx).BLOB_CONTENT;
|
|
cg$old_rec.CONTENT_TYPE := cg$DOCUMENTS.cg$table(idx).CONTENT_TYPE;
|
|
cg$old_rec.LAST_UPDATED := cg$DOCUMENTS.cg$table(idx).LAST_UPDATED;
|
|
cg$old_rec.MIME_TYPE := cg$DOCUMENTS.cg$table(idx).MIME_TYPE;
|
|
cg$old_rec.NAME := cg$DOCUMENTS.cg$table(idx).NAME;
|
|
cg$old_rec.DOC_SIZE := cg$DOCUMENTS.cg$table(idx).DOC_SIZE;
|
|
cg$old_rec.DAD_CHARSET := cg$DOCUMENTS.cg$table(idx).DAD_CHARSET;
|
|
cg$old_rec.DESCRIPTION := cg$DOCUMENTS.cg$table(idx).DESCRIPTION;
|
|
cg$old_rec.LANGUAGE := cg$DOCUMENTS.cg$table(idx).LANGUAGE;
|
|
|
|
IF NOT (cg$DOCUMENTS.called_from_package) THEN
|
|
idx := cg$DOCUMENTS.cg$table.NEXT(idx);
|
|
cg$rec.DOCU_ID := cg$DOCUMENTS.cg$table(idx).DOCU_ID;
|
|
cg$ind.DOCU_ID := updating('DOCU_ID');
|
|
cg$rec.BLOB_CONTENT := cg$DOCUMENTS.cg$table(idx).BLOB_CONTENT;
|
|
cg$ind.BLOB_CONTENT := updating('BLOB_CONTENT');
|
|
cg$rec.CONTENT_TYPE := cg$DOCUMENTS.cg$table(idx).CONTENT_TYPE;
|
|
cg$ind.CONTENT_TYPE := updating('CONTENT_TYPE');
|
|
cg$rec.LAST_UPDATED := cg$DOCUMENTS.cg$table(idx).LAST_UPDATED;
|
|
cg$ind.LAST_UPDATED := updating('LAST_UPDATED');
|
|
cg$rec.MIME_TYPE := cg$DOCUMENTS.cg$table(idx).MIME_TYPE;
|
|
cg$ind.MIME_TYPE := updating('MIME_TYPE');
|
|
cg$rec.NAME := cg$DOCUMENTS.cg$table(idx).NAME;
|
|
cg$ind.NAME := updating('NAME');
|
|
cg$rec.DOC_SIZE := cg$DOCUMENTS.cg$table(idx).DOC_SIZE;
|
|
cg$ind.DOC_SIZE := updating('DOC_SIZE');
|
|
cg$rec.DAD_CHARSET := cg$DOCUMENTS.cg$table(idx).DAD_CHARSET;
|
|
cg$ind.DAD_CHARSET := updating('DAD_CHARSET');
|
|
cg$rec.DESCRIPTION := cg$DOCUMENTS.cg$table(idx).DESCRIPTION;
|
|
cg$ind.DESCRIPTION := updating('DESCRIPTION');
|
|
cg$rec.LANGUAGE := cg$DOCUMENTS.cg$table(idx).LANGUAGE;
|
|
cg$ind.LANGUAGE := updating('LANGUAGE');
|
|
|
|
cg$DOCUMENTS.validate_foreign_keys_upd(cg$rec, cg$old_rec, cg$ind);
|
|
|
|
cg$DOCUMENTS.upd_denorm2( cg$rec,
|
|
cg$DOCUMENTS.cg$tableind(idx)
|
|
);
|
|
cg$DOCUMENTS.upd_oper_denorm2( cg$rec,
|
|
cg$old_rec,
|
|
cg$DOCUMENTS.cg$tableind(idx)
|
|
);
|
|
cg$DOCUMENTS.cascade_update(cg$rec, cg$old_rec);
|
|
cg$DOCUMENTS.domain_cascade_update(cg$rec, cg$ind, cg$old_rec);
|
|
|
|
cg$DOCUMENTS.called_from_package := FALSE;
|
|
END IF;
|
|
idx := cg$DOCUMENTS.cg$table.NEXT(idx);
|
|
END LOOP;
|
|
|
|
cg$DOCUMENTS.cg$table.DELETE;
|
|
|
|
-- Application_logic Post-After-Update-statement <<Start>>
|
|
-- Application_logic Post-After-Update-statement << End >>
|
|
|
|
END;
|
|
/
|
|
|