Tworzenie i modyfikowanie ograniczenia CHECK
Po utworzeniu tabela można utworzyć ograniczenie typu CHECK, jako część definicji tabela.Jeśli tabela już istnieje, można dodać ograniczenia CHECK.Tabele i kolumny może zawierać wiele ograniczeń CHECK.
Jeśli istnieje już ograniczenie typu CHECK, można zmodyfikować lub usunąć go.Na przykład można zmodyfikować wyrażenie, które jest używane przez ograniczenie typu CHECK dla kolumna w tabela.
Ostrzeżenie
Aby zmodyfikować ograniczenie typu CHECK, należy najpierw usunąć istniejące ograniczenia CHECK i następnie odtworzyć z nową definicję.
Następujące Transact-SQL przykład tworzy nową tabela, a następnie modyfikuje tabela przez dodanie CHECK ograniczenie do CreditRating kolumna.
IF OBJECT_ID ('dbo.Vendors', 'U') IS NOT NULL
DROP TABLE dbo.Vendors;
GO
CREATE TABLE dbo.Vendors
(VendorID int PRIMARY KEY, VendorName nvarchar (50),
CreditRating tinyint)
GO
ALTER TABLE dbo.Vendors ADD CONSTRAINT CK_Vendor_CreditRating
CHECK (CreditRating >= 1 AND CreditRating <= 5)
Usunąć ograniczenie typu CHECK, aby usunąć ograniczenia wartości dopuszczalnych danych kolumnę lub kolumna w ograniczenie wyrażenie.
Aby utworzyć ograniczenie typu CHECK, podczas tworzenia tabela
Aby utworzyć ograniczenie typu CHECK na podstawie istniejącej tabela
Aby usunąć ograniczenie typu CHECK
Wymuszanie ograniczenia CHECK przy użyciu NOCHECK
Ograniczenie typu CHECK jest dodawany do istniejącej tabela, ograniczenie typu CHECK można zastosować do nowych danych, czy do istniejących danych.Domyślnie ograniczenie typu CHECK stosuje się do istniejących danych i wszelkich nowych danych.Aby zastosować nowe ograniczenie tylko do nowo dodane dane, należy użyć opcji Z NOCHECK instrukcja ALTER TABLE.Ta opcja jest przydatna, gdy istniejące dane spełniają nowego ograniczenia CHECK lub gdy reguły biznesowe wymagają wymuszanie tylko od tego momentu ograniczenia.
Na przykład stare ograniczenie może wymagać kodów pocztowych ogranicza się do pięciu cyfr, ale nowe ograniczenie wymaga dziewięciocyfrowe kody pocztowe.Stare dane z pięciu dziewięciocyfrowe kody pocztowe, jest nadal ważna i będą współistniały z nowymi danymi dziewięciocyfrowe kody pocztowe.Dlatego tylko nowe dane powinny być sprawdzane przed nowe ograniczenie.
Jednakże, należy zachować ostrożność podczas dodawania ograniczenia bez sprawdzania istniejących danych, to omija formantów w Aparat baz danych , wymusić reguł integralność dla tabela.
Aby zapobiec Sprawdzanie istniejących danych podczas tworzenia ograniczenia CHECK
Wyłączanie ograniczenia CHECK
Można wyłączyć istniejących ograniczeń CHECK dla określonych operacji, takich jak operacje WSTAWIANIA, operacje aktualizacji i przetwarzanie replikacja.
Instrukcji INSERT i UPDATE
Wyłączenie danych umożliwia ograniczenie wyboru, w tabela modyfikowane bez sprawdzania ograniczenia.Jeśli nowe dane spowodują naruszenie ograniczenia lub ograniczenie stosuje się wyłącznie do już w bazie danych należy wyłączyć ograniczenia CHECK podczas instrukcji INSERT i UPDATE.
Przetwarzanie replikacji
Wyłączanie ograniczenia CHECK podczas replikacja, jeśli ograniczenie jest specyficzne dla źródłowa baza danych.Podczas replikacji tabela definicji tabela i dane są kopiowane z źródłowa baza danych do docelowej bazy danych.Te dwie bazy danych są zazwyczaj, ale nie koniecznie na oddzielnych serwerach.Jeśli specyficzne ograniczenia wyboru źródłowa baza danych jest wyłączony, one niepotrzebnie uniemożliwiać nowych danych wprowadzanych w docelowej bazie danych.Aby uzyskać więcej informacji, zobacz Kontrolowanie ograniczenia, tożsamości i wyzwalaczy z nie dla replikacji.
Aby wyłączyć ograniczenie CHECK dla instrukcji INSERT i UPDATE
Aby wyłączyć ograniczenia CHECK przy replikacja
Aby uzyskać informacje dotyczące ograniczeń CHECK