sql >> Databasteknik >  >> RDS >> Sqlserver

Hur släpper jag en begränsning av främmande nyckel bara om den finns i sql-servern?

Detta är mycket enklare än den nuvarande föreslagna lösningen:

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

Om du behöver släppa en annan typ av begränsning är det här de tillämpliga koder som ska skickas till OBJECT_ID()-funktionen i den andra parameterpositionen:

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

Du kan också använda OBJECT_ID utan den andra parametern.

Fullständig lista över typer här :

Objekttyp:

Gäller:SQL Server 2012 till SQL Server 2014.



  1. Implementera personsökning med OFFSET FETCH NEXT i SQL Server

  2. Hur man returnerar dynamiska kolumner från grupperade värden i SQL Server (Lagrad procedur)

  3. vad är skillnaden mellan '!=' och '<>' i mysql

  4. SET extra_float_digits =3 i postgresql