Translate

viernes, 2 de octubre de 2020

Desactivar o activar las constraints de una o muchas tablas en base de datos Oracle


Muchas veces en nuestra vida profesional tenemos que insertar datos por X motivos ignorando las constraints. Vale aclarar que esto es peligroso y no se tendría que hacer nunca pero pero la vida nos lleva por mal camino a veces. Entonces podemos hacer esto para desactivar las constraints de mis tablas : 

begin

for i in (select constraint_name, table_name from user_constraints where table_name in ('tabla1', 'tabla2', 'tabla3')) LOOP

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

end loop;

end;

/

Y para habilitarlas: 


begin

for i in (select constraint_name, table_name from user_constraints where table_name in ('tabla1', 'tabla2', 'tabla3')) LOOP

execute immediate 'alter table '||i.table_name||' ENABLE constraint '||i.constraint_name||'';

end loop;

end;

/


Y Listo!