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

So löschen Sie die Fremdschlüsselbeschränkung in der SQL Server-Datenbank - SQL Server / TSQL-Tutorial Teil 75

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