sql >> Databasteknik >  >> RDS >> Sqlserver

Hur man inaktiverar alla utländska nyckelbegränsningar i SQL Server-databasen - SQL Server / TSQL självstudie del 77

Scenario:

Du arbetar som SQL Server-utvecklare. Du måste tillhandahålla skripten för att inaktivera alla Foreign Key Constraint i SQL Server-databasen. Det här kan vara ett scenario där du behöver ladda engångsdata och du är okej om data bryter mot referensintegriteten.

Lösning:


Låt oss hämta listan över främmande nyckelbegränsningar från en SQL Server-databas innan vi genererar inaktiveringsskriptet.

--Get List of Foreign Key Constraints if Enabled or Disabled
    USE YourDatabaseName
    GO
    Select 
    Schema_name(Schema_id) as SchemaName,
    object_name(Parent_object_id) as TableName,
    name as ForeignKeyConstraintName,
    Case When Is_disabled=1 Then 'No'
    ELSE 'Yes' End as IsEnabled
    from sys.foreign_keys
 
 
 
 
 
 
 
 
Hur man kontrollerar om utländsk nyckelbegränsning är aktiverad eller inaktiverad i SQL Server
 
Låt oss nu skapa ett skript för att inaktivera begränsning av främmande nyckel i SQL Server-databasen

USE YourdatabaseName
go
-- Drop Foreign Key Constraints Script 
SELECT distinct 'ALTER TABLE ' 
+ '['+ Schema_name(FK.schema_id) 
+ '].['+ OBJECT_NAME(FK.parent_object_id) 
+ ']'+ ' NOCHECK  CONSTRAINT ' 
+ '[' + FK.name + ']' AS DisableConstraintQuery
 FROM   sys.foreign_keys AS FK
 where is_disabled=0
 
 
 
 
Hur man genererar skript för att inaktivera alla främmande nyckelbegränsningar i SQL Server-databas
 

Videodemo :Hur man inaktiverar alla restriktioner för främmande nyckel i SQL Server-databas


  1. Hur man får den aktuella tiden i PostgreSQL

  2. MySQL Tutorial – Förstå sekunderna bakom Master Value

  3. Optimeringsfaser och missade möjligheter

  4. CASE NÄR uttalande för ORDER BY-klausul