sql >> Base de Datos >  >> RDS >> Sqlserver

Restricción de clave externa SQL DROP TABLE

No, esto no eliminará su tabla si de hecho hay claves externas que hacen referencia a ella.

Para obtener todas las relaciones de clave externa que hacen referencia a su tabla, puede usar este SQL (si está en SQL Server 2005 y versiones posteriores):

SELECT * 
FROM sys.foreign_keys
WHERE referenced_object_id = object_id('Student')

y si hay alguna, con esta declaración aquí, podría crear declaraciones SQL para descartar realmente esas relaciones FK:

SELECT 
    'ALTER TABLE [' +  OBJECT_SCHEMA_NAME(parent_object_id) +
    '].[' + OBJECT_NAME(parent_object_id) + 
    '] DROP CONSTRAINT [' + name + ']'
FROM sys.foreign_keys
WHERE referenced_object_id = object_id('Student')