Database Administration (MOSC)

MOSC Banner

Issues with ON Delete SET NULL Foreign Key constraint and Trigger on Child Table

edited Apr 10, 2020 5:02AM in Database Administration (MOSC) 1 commentAnswered

Deleting a record from the parent table is causing the trigger on child table to get invoked.

Resulting in ORA-03113 end of file on communication channel.

When I remove " ON DELETE SET NULL" from the foreign key, it works fine.

FK on Table -

ALTER TABLE APP.BC_CUSTOM_SI_PROPERTIES ADD <br/>( CONSTRAINT BC_SI_PROPS_CUSTOM_ATTR_FK <br/>FOREIGN KEY (CUSTOM_ATTRIBUTE_MASTER_ID) <br/>REFERENCES APP.BC_CUSTOM_ATTRIBUTE_MASTERS (CUSTOM_ATTRIBUTE_MASTER_ID) <br/>ON DELETE SET NULL DEFERRABLE INITIALLY IMMEDIATE ENABLE VALIDATE); 

Trigger on BC_CUSTOM_SI_PROPERTIES -

CREATE OR REPLACE TRIGGER APP.BC_ACS_SI_CUST_PROPERTY <br/>AFTER DELETE OR INSERT OR UPDATE OF SI_PROPERTY_ID,PROPERTY_NAME ON app.bc_custom_si_properties  <br/>REFERENCING NEW AS NEW OLD AS OLD FOR EACH ROW <br/>WHEN (NEW.INPUT_TYPE_CC=3 OR OLD.INPUT_TYPE_CC=3) <br/><br/>DECLARE <br/>l_object_id app.bc_acs_obj_change_tracking.object_id%TYPE; <br/>l_object_type app.bc_acs_obj_change_tracking.object_type%TYPE ; <br/>l_owner app.bc_acs_obj_change_tracking.object_id2%TYPE;  <br/><br/>BEGIN <br/><br/>IF NOT app.utils_Pkg.workspace_dup_del_running_p = 1 THEN <br/> IF SYS_CONTEXT('clus_ctx','import_in_progress') IS NULL THEN <br/>     IF INSERTING OR UPDATING THEN <br/>          l_object_id := :new.si_property_id; <br/>          l_owner := :new.owner; <br/>     ELSIF DELETING THEN <br/>          l_object_id := :old.si_property_id; <br/>          l_owner := :old.owner; <br/>     END IF;  <br/><br/>l_object_type := 'SI_PROPERTY_ID';  <br/><br/>IF app.bc_acs_pkg.ws_access_policies_enabled_p (l_owner) = 1 THEN <br/>     app.bc_acs_pkg.populate_obj_change_tracking <br/>          (p_object_type => l_object_type, p_object_id   => l_object_id, p_object_id2  => l_owner,
Tagged:

Howdy, Stranger!

Log In

To view full details, sign in to My Oracle Support Community.

Register

Don't have a My Oracle Support Community account? Click here to get started.

Category Leaderboard

Top contributors this month

New to My Oracle Support Community? Visit our Welcome Center

MOSC Help Center