sql >> Database teknologi >  >> RDS >> Sqlserver

Sådan deaktiveres alle Foreign Key Constraint i SQL Server Database - SQL Server / TSQL Tutorial Del 77

Scenarie:

Du arbejder som SQL Server-udvikler. Du skal levere scripts for at deaktivere alle Foreign Key Constraint i SQL Server-databasen. Dette kan være et scenarie, hvor du skal indlæse engangsdata, og du er okay, hvis data krænker referenceintegriteten.

Løsning:


Lad os få listen over fremmednøglebegrænsninger fra en SQL Server-database, før vi genererer deaktiveringsscriptet.

--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
 
 
 
 
 
 
 
 
Sådan kontrollerer du, om begrænsning af fremmed nøgle er aktiveret eller deaktiveret i SQL Server
 
Lad os nu generere script for at deaktivere begrænsning af fremmed nøgle i SQL Server-database

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
 
 
 
 
Sådan genereres script for at deaktivere alle fremmednøglebegrænsninger i SQL Server-databasen
 

Videodemo :Sådan deaktiveres alle fremmednøglebegrænsninger i SQL Server-databasen


  1. Forbedring af forespørgselshastigheden:simpel SELECT i den store postgres-tabel

  2. Star Trek 3D skakdatamodel

  3. NLS_COLLATION_NAME() Funktion i Oracle

  4. SQL NØGLER