sql >> Base de Datos >  >> RDS >> Sqlserver

Cómo eliminar la restricción de clave externa en la base de datos de SQL Server - Tutorial de SQL Server / TSQL, parte 75

Escenario:

Está trabajando como desarrollador de SQL Server y necesita preparar el script para eliminar la restricción de clave externa que se creó en la tabla dbo.Orders.

Solución:

Vamos a crear tablas de muestra dbo.Customer y dbo.Orders e incluir la restricción de clave externa como parte de la creación de la tabla usando el siguiente script.
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)
    )
 
Una vez que se crean las tablas y también la restricción de clave externa, puede usar la declaración a continuación para encontrar el nombre de restricción de clave externa con el nombre de la tabla.
    USE YourDatabaseName
    GO
    Select 
    Schema_name(Schema_id) as SchemaName,
    object_name(Parent_object_id) as TableName,
    name as ForeignKeyConstraintName
    from sys.foreign_keys
 
 
Buscar nombre de restricción de clave externa en SQL Server con nombre de tabla
 
Ahora que conocemos el nombre de la restricción, podemos continuar y escribir nuestra instrucción de restricción de eliminación.
Sintaxis para la restricción de clave externa de eliminación en TableAlter Table SchemaName.TableNameDrop Constraint Constraint_Name
Usé la siguiente declaración para eliminar FK__Orders__Customer__164452B1 Restricción de clave externa.
    Alter table dbo.Orders
    Drop Constraint FK__Orders__Customer__164452B1
 
Si está interesado en generar secuencias de comandos para eliminar todas las restricciones de clave externa en una base de datos, consulte este enlace.

Video de demostración:cómo eliminar restricciones de clave externa en SQL Server