sql >> Databasteknik >  >> RDS >> Sqlserver

Hur inaktiverar man begränsningar för alla tabeller och aktiverar det?

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

Du kanske också vill göra detta:

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

För att aktivera dem efteråt

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

Redigera:
Om det inte räcker att inaktivera begränsningarna måste du släppa begränsningarna.

Om du släpper och återskapar tabellerna måste du återskapa de främmande nyckelbegränsningarna efteråt.

Om du bara behöver släppa begränsningarna kan det här vara användbart:
SQL DROP TABLE främmande nyckelbegränsning

Om du behöver skriva ett skript för att släppa och skapa begränsningarna, kanske du tycker att mitt inlägg här är mer användbart:
SQL Server:Hur får man främmande nyckelreferens från information_schema?



  1. det går inte att visa frågeresultat i en vykodantändare

  2. Benchmark MySQL på SSD:Verktyg och strategier

  3. Designa en databas för ett rekryteringssystem

  4. Hitta MINSTA/STÖRSTA värden från kombinerade kolumner, ignorera 0 &NULL-MYSQL