Drugie sprawozdanie w danym kontekście jest zbędny, jeśli uruchomić natychmiast po utworzeniu z ograniczeniem (bez WITH CHECK
, utworzenie klucz obcy z ADD CONSTRAINT FOREIGN KEY
zrobi WITH CHECK
natychmiast domyślnie).
Druga instrukcja służy do ponownie włączyć ograniczenie kontroli
ALTER TABLE [nameOfMyTable] CHECK CONSTRAINT [nameOfMyConstraint];
zwykle po to został wyłączony, tak jak poniżej:
ALTER TABLE [nameOfMyTable] NOCHECK CONSTRAINT [nameOfMyConstraint];
GO
narzędzi skryptowych często tworzą DDL jak ten - przesadą, chociaż myślę, oni naprawdę chcą być pewni :)
Istnieje trzeci smak, który polega na ponownym sprawdzeniu poprawności ograniczenia, np. po wykonaniu kopii zbiorczej lub podobnej, która mogła unieważnić ograniczenie (oznaczono jako niezaufane). Odbywa się to tak:
ALTER TABLE [nameOfMyTable] WITH CHECK CHECK CONSTRAINT [nameOfMyConstraint];
Edycja Mam nadzieję, że to się this SQLFiddle czyści?
Studio zarządzania serwerami sql generuje ten kod domyślnie – isxaker
Zobacz: http://stackoverflow.com/questions/529941/whats-the-difference-between-with-check-add-constraint-followed-by-check -konstr – makciook