PROMPT Force delete duplicate Key Components...

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

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

  for key in
  (
    select oky.id id
    from ci_key_components@r212 oky
    where oky.id < ( select max(oky2.id)
                     from ci_key_components@r212 oky2
 	               where oky.id != oky2.id
      	         and   oky.constraint_reference = oky2.constraint_reference
            	   and   oky.column_reference = oky2.column_reference
               	 )
    and   oky.application_system_owned_by in ( select ci_appid
	    					           from ck_migration_objects
						           where ci_stage = 'APPSEL' )
  )
  loop
    ciiutl.delete_element@r212(key.id, 'OKY');
  
    delete from sdd_elements@r212
    where el_id = key.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;
/
