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

Jak wyłączyć ograniczenia dla wszystkich tabel i włączyć je?

EXEC sp_MSforeachtable @command1="ALTER TABLE ? NOCHECK CONSTRAINT ALL"
GO

Możesz również chcieć to zrobić:

EXEC sp_MSforeachtable @command1="ALTER TABLE ? DISABLE TRIGGER ALL"
GO

Aby je później włączyć

EXEC sp_MSforeachtable @command1="ALTER TABLE ? ENABLE TRIGGER ALL"
GO

-- SQL enable all constraints - enable all constraints sql server
-- sp_MSforeachtable is an undocumented system stored procedure
EXEC sp_MSforeachtable @command1="ALTER TABLE ? CHECK CONSTRAINT ALL"
GO

Edytuj:
Jeśli wyłączenie ograniczeń nie wystarczy, będziesz musiał je usunąć.

Jeśli upuszczasz i odtwarzasz tabele, będziesz musiał później odtworzyć ograniczenia kluczy obcych.

Jeśli potrzebujesz tylko usunąć ograniczenia, może ci się to przydać:
Ograniczenie klucza obcego SQL DROP TABLE

Jeśli potrzebujesz napisać skrypt do usuwania i tworzenia ograniczeń, mój post może okazać się bardziej przydatny:
SQL Server:jak uzyskać odwołanie do klucza obcego z information_schema?



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Zapobieganie wstrzykiwaniu SQL w ASP.Net

  2. Jak znaleźć wszystkie dzieci kolumny tabeli w tabeli serwera sql?

  3. Jak działa OBJECTPROPERTYEX() w SQL Server

  4. Jak tworzyć widoki zmaterializowane w SQL Server?

  5. Wstaw liczbę pustych wierszy w SQL