Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Wie lösche ich eine Fremdschlüsselbeschränkung nur, wenn sie in SQL Server vorhanden ist?

Dies ist viel einfacher als die derzeit vorgeschlagene Lösung:

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

Wenn Sie eine andere Art von Einschränkung löschen müssen, sind dies die anwendbaren Codes, die an die OBJECT_ID()-Funktion an der zweiten Parameterposition übergeben werden:

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

Sie können OBJECT_ID auch ohne den zweiten Parameter verwenden.

Vollständige Liste der Typen hier :

Objekttyp:

Gilt für:SQL Server 2012 bis SQL Server 2014.