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
