Поиск…


Обновление внешних ключей с новым значением в Oracle

Предположим, что у вас есть таблица, и вы хотите изменить один из этих первичных идентификаторов этой таблицы. вы можете использовать следующий scrpit. первичный идентификатор здесь - «PK_S»

begin
  for i in (select a.table_name, c.column_name
              from user_constraints a, user_cons_columns c
             where a.CONSTRAINT_TYPE = 'R'
               and a.R_CONSTRAINT_NAME = 'PK_S'
               and c.constraint_name = a.constraint_name) loop
  
                     
         execute immediate 'update ' || i.table_name || ' set ' || i.column_name ||
                      '=to_number(''1000'' || ' ||  i.column_name || ') ';              
                    
                     
 
  end loop;

end;

Отключить все связанные внешние ключи в oracle

Предположим, что у вас есть таблица T1, и она имеет отношение ко многим таблицам, а ее имя ограничения основного ключа - «pk_t1», которое вы хотите отключить с помощью этих внешних ключей, которые вы можете использовать:

Begin
    For I in (select table_name, constraint_name from user_constraint t where   r_constraint_name='pk_t1') loop

Execute immediate ' alter table ' || I.table_name || ' disable constraint ' || i.constraint_name;

   End loop;
End;


Modified text is an extract of the original Stack Overflow Documentation
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow