Quitar Integridad Referencial de una Base de Datos

10/03/2007 - 00:17 por Simon Cascante | Informe spam
Hola compañeros!

Aunque sé que esto no es recomendable y nada normal! Necesito saber si
es posible quitar la Integridad Referencial de una Base de Datos de
SQL Server 2000/2005.

Quisiera saber si hay algun comando en T-SQL que permita hacer esto, ó
que podría utilizar para hacer esto sin tener que ir tabla por tabla
eliminando los Foreing Keys.

Gracias por su ayuda!

Preguntas similare

Leer las respuestas

#1 Alejandro Mesa
10/03/2007 - 02:31 | Informe spam
Simon Cascante,

Creas un cursor para recorrer las tablas de la db, usando
INFORMATION_SCHEMA.TABLES, y te armas una sentencia "alter table nombre_
tabla nocheck constraint all" de forma dinamica, para deshabilitar todas las
restricciones en la db y la ejecutas usando sp_executesql.

Luego si deseas activar esas restricciones solo ejecutas el script
nuevamente pero esta vez usas "check" en vez de "nocheck".

Si quieres deshabilitar solo las restricciones de clave foranea, entonces
crea el cursor usando la vista INFORMATION_SCHEMA.TABLE_CONSTRAINTS, desde
donde puedes obtener el nombre de la tabla y el nombre de la restriccion, por
lo que puedes armar la sentencia "alter table nombre_tabla nocheck constraint
nombre_constraint" para las restricciones de tipo [CONSTRAINT_TYPE] =
'FOREIGN KEY'.


AMB

"Simon Cascante" wrote:

Hola compañeros!

Aunque sé que esto no es recomendable y nada normal! Necesito saber si
es posible quitar la Integridad Referencial de una Base de Datos de
SQL Server 2000/2005.

Quisiera saber si hay algun comando en T-SQL que permita hacer esto, ó
que podría utilizar para hacer esto sin tener que ir tabla por tabla
eliminando los Foreing Keys.

Gracias por su ayuda!


email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida