Szenario:
Sie arbeiten als SQL Server-Entwickler und müssen das Skript vorbereiten, um die Fremdschlüsseleinschränkung zu löschen, die in der Tabelle dbo.Orders erstellt wurde.Lösung:
Lassen Sie uns dbo.Customer- und dbo.Orders-Beispieltabellen erstellen und Foreign Key Constraint als Teil der Tabellenerstellung einschließen, indem Sie das folgende Skript verwenden.USE YourDatabaseName GO CREATE TABLE dbo.Customer ( Customerid INT PRIMARY KEY ,FName VARCHAR(100) ,LName VARCHAR(100) ,SSN VARCHAR(10) ) CREATE TABLE dbo.Orders ( OrderId INT Identity(1, 1) ,OrderitemName VARCHAR(50) ,OrderItemAmt INT ,Customer_id INT FOREIGN KEY REFERENCES Customer(CustomerId) )
Sobald die Tabellen und die Fremdschlüsselbeschränkung erstellt wurden, können Sie die folgende Anweisung verwenden, um den Namen der Fremdschlüsselbeschränkung mit dem Tabellennamen zu finden.
USE YourDatabaseName GO Select Schema_name(Schema_id) as SchemaName, object_name(Parent_object_id) as TableName, name as ForeignKeyConstraintName from sys.foreign_keys
Fremdschlüssel-Einschränkungsnamen in SQL Server mit Tabellennamen suchen |
Jetzt kennen wir den Constraint-Namen, wir können fortfahren und unsere Drop-Constraint-Anweisung schreiben.
Syntax für Drop Foreign Key Constraint on TableAlter Table SchemaName.TableNameDrop Constraint Constraint_Name
Ich habe die folgende Anweisung zum Löschen verwendet FK__Orders__Customer__164452B1 Foreign Key Constraint.
Alter table dbo.Orders Drop Constraint FK__Orders__Customer__164452B1
Wenn Sie daran interessiert sind, Skripte zu generieren, um alle Foreign Key Constraints in einer Datenbank zu löschen, klicken Sie auf diesen Link.
Video-Demo:How to Drop Foreign Key Constraints in SQL Server