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
