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

¿Cómo elimino una restricción de clave externa solo si existe en el servidor sql?

Esto es mucho más simple que la solución propuesta actual:

IF (OBJECT_ID('dbo.FK_ConstraintName', 'F') IS NOT NULL)
BEGIN
    ALTER TABLE dbo.TableName DROP CONSTRAINT FK_ConstraintName
END

Si necesita eliminar otro tipo de restricción, estos son los códigos aplicables para pasar a la función OBJECT_ID() en la posición del segundo parámetro:

C = CHECK constraint
D = DEFAULT (constraint or stand-alone)
F = FOREIGN KEY constraint
PK = PRIMARY KEY constraint
UQ = UNIQUE constraint

También puede usar OBJECT_ID sin el segundo parámetro.

Lista completa de tipos aquí :

Tipo de objeto:

Se aplica a:SQL Server 2012 a SQL Server 2014.