Oracle Database
restricciones
Buscar..
Actualizar claves foráneas con nuevo valor en Oracle
Supongamos que tiene una tabla y desea cambiar una de las ID principales de esta tabla. Puedes usar el siguiente scrpit. ID primario aquí es "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;
Desactivar todas las claves externas relacionadas en Oracle
Supongamos que tiene la tabla T1 y tiene relación con muchas tablas y su nombre de restricción de clave principal es "pk_t1" que desea deshabilitar estas claves externas que puede usar:
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
Licenciado bajo CC BY-SA 3.0
No afiliado a Stack Overflow