Deshabilitar restricciones en Oracle

Cyttorak
20 de Mayo del 2005
Como puedo en Oracle deshabilitar todas restricciones de golpe, sin que estas se pierdan para que asi luego pueda volver a habilitarlas todas otra vez.

Mi objetivo es no tener que borrarlas todas y tener luego que volver a crearlas.

daniel
20 de Mayo del 2005
para ver una lista de constraints puedes user la tabla user_constraints y crear un log de sentencias del tipo
select 'Alter table ' , table_name, ' disable constraint ',constraint_name,';'
from user_constraints where table_name = 'ADICIONALES' and constraint_type = 'R';
por ej. para una tabla y tipo FK
esto te genera un log de sentencias que después las puede ejecutar , puedes poner spool c:deshabilitar.sql antes de correrlo para que la salida vaya a un archiv en disco
luego dale spool off

Haces lo mismo pero cambiando Disable por Enable para habilitar las restricciones

suerte

mmlillo
20 de Mayo del 2005
La instrucción directamente sería :

SELECT \'ALTER TABLE \' || TABLE_NAME || \' DISABLE CONSTRAINT \' || CONSTRAINT_NAME || \';\' FROM USER_CONSTRAINTS WHERE CONSTRAINT_TYPE = \'R\';

mmlillo
20 de Mayo del 2005
Quitarle todas las que el foro las añade por las ..'...