Cenário:
Você está trabalhando como desenvolvedor do SQL Server e precisa preparar o script para eliminar a restrição de chave estrangeira que foi criada na tabela dbo.Orders.Solução:
Vamos criar tabelas de amostra dbo.Customer e dbo.Orders e incluir a restrição de chave estrangeira como parte da tabela de criação usando o script abaixo.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)
) Uma vez que as tabelas são criadas e a restrição de chave estrangeira também, você pode usar a instrução abaixo para encontrar o nome da restrição de chave estrangeira com o nome da tabela.
USE YourDatabaseName
GO
Select
Schema_name(Schema_id) as SchemaName,
object_name(Parent_object_id) as TableName,
name as ForeignKeyConstraintName
from sys.foreign_keys ![]() |
| Encontre o nome da restrição de chave estrangeira no SQL Server com o nome da tabela |
Agora que sabemos o nome da restrição, podemos ir em frente e escrever nossa instrução de restrição de descarte.
Sintaxe para Restrição de Chave Estrangeira de Descarte na Tabela TableAlter SchemaName.TableNameDrop Constraint Constraint_Name
Usei a instrução abaixo para descartar FK__Orders__Customer__164452B1 Restrição de chave estrangeira.
Alter table dbo.Orders
Drop Constraint FK__Orders__Customer__164452B1 Se você estiver interessado em gerar scripts para eliminar todas as restrições de chave estrangeira em um banco de dados, verifique este link.
Demonstração em vídeo:como eliminar restrições de chave estrangeira no SQL Server b>
