sql >> Database >  >> RDS >> Sqlserver

Hoe laat ik een beperking van een externe sleutel alleen vallen als deze op de SQL-server bestaat?

Dit is een stuk eenvoudiger dan de huidige voorgestelde oplossing:

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

Als u een ander type beperking moet laten vallen, zijn dit de codes die van toepassing zijn om door te geven aan de functie OBJECT_ID() in de tweede parameterpositie:

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

Je kunt OBJECT_ID ook gebruiken zonder de tweede parameter.

Volledige lijst met typen hier :

Objecttype:

Van toepassing op:SQL Server 2012 tot en met SQL Server 2014.



  1. Aanmeldingstrigger uitschakelen in Oracle

  2. Waarom werkt de pi()-functie niet in Oracle met de JDBC-driver?

  3. Waarom zou mijn asp.net-mvc-site die nhibernate gebruikt gewoon stoppen met het uitvoeren van updates en verwijderingen?

  4. WIDTH_BUCKET() Functie in Oracle