Rem drv: Rem Rem $Header: emdb/source/oracle/sysman/emdrep/sql/db/latest/changemgr/cm_triggers.sql /st_emdbsa_11.2/1 2009/02/02 12:13:29 abodge Exp $ Rem Rem cm_triggers.sql Rem Rem Copyright (c) 2003, 2009, Oracle and/or its affiliates. Rem All rights reserved. Rem Rem NAME Rem cm_triggers.sql - Rem Rem DESCRIPTION Rem Rem Rem NOTES Rem Rem Rem MODIFIED (MM/DD/YY) Rem abodge 01/14/09 - Move CM Synch to DB Control Rem abodge 10/10/07 - Add trigger for synch removal Rem abodge 05/13/08 - Migrate 11GC functionality Rem chyu 06/28/05 - New repmgr header impl Rem lhan 05/12/05 - trigger to remove annotation Rem lhan 09/14/04 - lhan_cm_0914 Rem lhan 09/14/03 - Created Rem -- Baselines -- Trigger to clean up a baseline's scope spec CREATE OR REPLACE TRIGGER MGMT_CM_BL_CLEAN_SS AFTER DELETE ON MGMT_CM_BASELINES FOR EACH ROW BEGIN DELETE FROM mgmt_CM_SCOPESPECS WHERE ss_guid = :old.baseline_ss; END; / -- Comparisons -- Trigger to clean up a comparison's scope spec -- and schema map CREATE OR REPLACE TRIGGER MGMT_CM_COMP_CLEAN_SS_SM AFTER DELETE ON MGMT_CM_COMPARISONS FOR EACH ROW BEGIN DELETE FROM mgmt_CM_SCOPESPECS WHERE ss_guid = :old.comparison_ss; DELETE FROM mgmt_cm_schema_maps WHERE owner_id = :old.comparison_ss; END; / -- Trigger to remove annotation -- Delete all annotations for the comparison_objs CREATE OR REPLACE TRIGGER MGMT_CM_COMP_CLEAN_ANT AFTER DELETE ON MGMT_CM_COMPARISON_OBJECTS FOR EACH ROW BEGIN DELETE FROM MGMT_ANNOTATION WHERE source_obj_type = mgmt_global.G_ANNOTATION_SOURCE_CM AND :old.annotation_guid is not NULL AND source_obj_guid = :old.annotation_guid ; END; / -- Trigger to clean up a synchronization's scope spec, -- schema map, and temporary baseline(s). CREATE OR REPLACE TRIGGER MGMT_CM_SYNCH_CLEAN_SS_SM_TBL AFTER DELETE ON MGMT_CM_SYNCHRONIZATIONS FOR EACH ROW BEGIN DELETE FROM MGMT_CM_SCOPESPECS WHERE ss_guid = :old.synch_ss; DELETE FROM MGMT_CM_SCHEMA_MAPS WHERE owner_id = :old.synch_ss; DELETE FROM MGMT_CM_BASELINES WHERE BASELINE_GUID = :old.TARGET_TEMP_BL_ID AND TEMP_BL = 2; IF :old.SOURCE_TEMP_BL_ID IS NOT NULL THEN DELETE FROM MGMT_CM_BASELINES WHERE BASELINE_GUID = :old.SOURCE_TEMP_BL_ID AND TEMP_BL = 2; END IF; end; / show errors;