sql >> Databáze >  >> RDS >> Sqlserver

Jak zakázat všechna omezení cizího klíče v databázi SQL Server - SQL Server / TSQL výukový program, část 77

Scénář:

Pracujete jako vývojář serveru SQL Server, musíte poskytnout skripty pro zakázání všech omezení cizího klíče v databázi SQL Server. Toto může být scénář, kdy potřebujete načíst jednorázová data a pokud data porušují referenční integritu, budete v pořádku.

Řešení:


Pojďme získat seznam omezení cizího klíče z databáze SQL Server, než vygenerujeme skript pro zakázání.

--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
 
 
 
 
 
 
 
 
Jak zkontrolovat, zda je na serveru SQL povoleno nebo zakázáno omezení cizího klíče
 
Nyní vygenerujeme skript pro zakázání omezení cizího klíče v databázi SQL Server

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
 
 
 
 
Jak vygenerovat skript pro zakázání všech omezení cizího klíče v databázi SQL Server
 

Video ukázka:Jak zakázat všechna omezení cizího klíče v databázi SQL Server


  1. Jak povolit pomalé dotazy Přihlášení do PostgreSQL

  2. Trailing Zero

  3. Vytvořte vypočítaný sloupec pomocí dat z jiné tabulky

  4. Jak vytvořit pohled MySQL