Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Restrição de chave estrangeira SQL DROP TABLE


Não, isso não eliminará sua tabela se houver de fato chaves estrangeiras fazendo referência a ela.

Para obter todos os relacionamentos de chave estrangeira referenciando sua tabela, você pode usar este SQL (se estiver no SQL Server 2005 ou superior):
SELECT * 
FROM sys.foreign_keys
WHERE referenced_object_id = object_id('Student')

e se houver algum, com esta instrução aqui, você pode criar instruções SQL para realmente eliminar essas relações 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')