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

Como descarto uma restrição de chave estrangeira somente se ela existir no sql server?


Isso é muito mais simples do que a solução proposta atual:
IF (OBJECT_ID('dbo.FK_ConstraintName', 'F') IS NOT NULL)
BEGIN
    ALTER TABLE dbo.TableName DROP CONSTRAINT FK_ConstraintName
END

Se você precisar descartar outro tipo de restrição, estes são os códigos aplicáveis ​​para passar para a função OBJECT_ID() na segunda posição do parâmetro:
C = CHECK constraint
D = DEFAULT (constraint or stand-alone)
F = FOREIGN KEY constraint
PK = PRIMARY KEY constraint
UQ = UNIQUE constraint

Você também pode usar OBJECT_ID sem o segundo parâmetro.

Lista completa de tipos aqui :

Tipo de objeto:

Aplica-se a:SQL Server 2012 a SQL Server 2014.