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

Hvordan deaktiverer man begrænsninger for alle tabellerne og aktiverer det?

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

Du ønsker måske også at gøre dette:

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

For at aktivere dem bagefter

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

Rediger:
Hvis det ikke er nok at deaktivere begrænsningerne, bliver du nødt til at droppe begrænsningerne.

Hvis du dropper og genskaber tabellerne, bliver du nødt til at genskabe begrænsningerne for fremmednøgle bagefter.

Hvis du bare har brug for at slippe begrænsningerne, kan du finde dette nyttigt:
SQL DROP TABLE fremmednøglebegrænsning

Hvis du har brug for at skrive et script for at slippe og oprette begrænsningerne, vil du måske finde mit indlæg her mere nyttigt:
SQL Server:Hvordan får man fremmednøglereference fra information_schema?



  1. Ydeevne af bcp/BULK INSERT vs. tabelværdisatte parametre

  2. Er der en måde at cache en visning på, så forespørgsler mod den er hurtige?

  3. PostgreSQL i Docker - pg_hba.conf for at tillade adgang fra vært til container

  4. ajax php rulleliste