Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Como descartar a restrição de chave estrangeira no banco de dados SQL Server - Tutorial SQL Server / TSQL Parte 75

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>