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>