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