PROMPT Force Deleting database triggers that have an invalid table reference

DECLARE
   bug_no varchar2(8) := 'CK919746';
BEGIN

  update ck_migration_objects set ci_created = 'N' where ci_stage = 'CKPREMIG' and ci_name = bug_no;

  for trg in 
  (
    select id id
    from ci_database_triggers@r212
    where not exists
                     ( select 1
                       from ci_relation_definitions@r212
                       where table_definition_reference = id 
                     )
    and application_system_owned_by in ( select ci_appid
	  				           from ck_migration_objects
					           where ci_stage = 'APPSEL' )
  )
  loop
    ciiutl.delete_element@r212(trg.id, 'DBTRG');
  
    delete from sdd_elements@r212
    where el_id = trg.id;
	  
  end loop; 

  update ck_migration_objects set ci_created = 'Y' where ci_stage = 'CKPREMIG' and ci_name = bug_no;
   
  commit;
  
EXCEPTION 
  when others then
     dbms_output.put_line (' ** Exception Raised ** ');
     dbms_output.put_line ('...ERROR: '||substrb(sqlerrm, 1, 200));
     raise;
	 
end;
/
