Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Jak wygenerować skrypt, aby włączyć wszystkie ograniczenia kluczy obcych w bazie danych programu SQL Server — samouczek programu SQL Server/TSQL, część 78

Scenariusz:

Pracujesz jako programista SQL Server, musisz przygotować skrypty, aby włączyć wszystkie ograniczenia klucza obcego w bazie danych, które są wyłączone. Może się tak zdarzyć, być może ktoś wyłączył ograniczenia klucza obcego dla ładowania danych, w którym nie obchodzi go naruszenie integralności referencyjnej i zapomniał włączyć je później.


Rozwiązanie:

Przede wszystkim zdobądźmy listę ograniczeń kluczy obcych ze statusem za pomocą poniższego zapytania

--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 sprawdzić, czy ograniczenie klucza obcego jest wyłączone lub włączone w bazie danych SQL Server
 Teraz wygenerujmy skrypty, aby włączyć ograniczenia klucza obcego, które są wyłączone w bazie danych programu SQL Server za pomocą poniższego zapytania.

USE YourdatabaseName
go
-- Enable Foreign Key Constraints Script 
SELECT distinct 'ALTER TABLE ' 
+ '['+ Schema_name(FK.schema_id) 
+ '].['+ OBJECT_NAME(FK.parent_object_id) 
+ ']'+ ' CHECK  CONSTRAINT ' 
+ '[' + FK.name + ']' AS EnableConstraintQuery
 FROM   sys.foreign_keys AS FK
 where is_disabled=1
 
 
 
 
Jak wygenerować skrypt, aby włączyć wszystkie ograniczenia klucza obcego w bazie danych SQL Server
 
 Skopiuj wyniki i uruchom w SSMS, aby włączyć wyłączone ograniczenia kluczy obcych w bazie danych programu SQL Server.

Pokaz wideo:jak wygenerować skrypt, aby włączyć wszystkie ograniczenia kluczy obcych w programie SQL Server


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak usunąć akcenty i wszystkie znaki <> a..z w sql-server?

  2. Jak zamienić wszystkie wystąpienia ciągu na inny ciąg w SQL Server – REPLACE()

  3. Jak dynamicznie mapować kolumny wejściowe i wyjściowe w SSIS?

  4. Zmień nazwę konta SA w SQL Server (przykład T-SQL)

  5. przekonwertuj numer seryjny daty Excel na zwykłą datę