Tworzenie i modyfikowanie ograniczenia na klucz OBCY

Po utworzeniu tabela można utworzyć ograniczenie klucza OBCEGO w tabela definicji.Jeśli tabela już istnieje w innym, można dodać ograniczenia klucza OBCEGO, pod warunkiem że ograniczenia na klucz OBCY jest połączony z istniejących ograniczeń klucza podstawowego ani ograniczenia UNIQUE lub tej samej, tabeli.Tabela może zawierać wiele ograniczeń klucza OBCEGO.

Jeśli istnieje już ograniczenia na klucz OBCY, można zmodyfikować lub usunąć go.Na przykład może być ograniczenie klucza OBCEGO w tabela, aby odwoływać się do innych kolumn.Nie można jednak zmienić długość kolumna, która jest zdefiniowana z ograniczeniem klucza OBCEGO.

Ostrzeżenie

Aby zmodyfikować ograniczenie klucza OBCEGO, należy najpierw usunąć istniejące ograniczenia na klucz OBCY i następnie odtworzyć z nową definicję.

Usuwanie ograniczenia klucz obcy usunąć wymóg więzy integralność między kolumny klucz obcy i odnośnych klucz podstawowy, ani ograniczenia UNIQUE, kolumny w innej tabela.

Aby utworzyć ograniczenie klucza OBCEGO podczas tworzenia tabela

CREATE TABLE (Transact-SQL)

Aby utworzyć ograniczenie klucza OBCEGO w istniejącej tabela

ALTER TABLE (Transact-SQL)

Jak Tworzenie relacji między tabelami (wizualne Narzędzia bazy danych)

Aby usunąć ograniczenie na klucz OBCY

ALTER TABLE (Transact-SQL)

Wymuszanie ograniczenia klucza OBCEGO przy użyciu NOCHECK

Gdy ograniczenie na klucz OBCY jest dodawany do istniejącej kolumna lub kolumn tabela, domyślnie Aparat baz danych sprawdza istniejące dane w kolumnach, aby upewnić się, że wszystkie wartości NULL, chyba że istnieją w kolumnach, odwołanie klucz podstawowy lub unikatowe ograniczenie.Jednakże, określając Z NOCHECK Aparat baz danych może być uniemożliwił sprawdzanie danych kolumna przeciwko nowe ograniczenie i dokonać dodać nowe ograniczenie niezależnie od danych kolumna.Opcja Z NOCHECK jest przydatna, gdy istniejące dane spełniają nowe ograniczenie klucza OBCEGO lub gdy reguły biznesowe wymagają wymuszanie tylko od tego momentu ograniczenia.

Jednakże, należy zachować ostrożność podczas dodawania ograniczenia bez sprawdzania istniejących danych, to omija formantów w Aparat baz danych , wymuszanie integralność danych tabela.

Aby zapobiec Sprawdzanie istniejących danych podczas tworzenia ograniczenia na klucz OBCY

ALTER TABLE (Transact-SQL)

Wyłączanie ograniczenia na klucz OBCY

Można wyłączyć istniejących operacji forspecific ograniczenia klucza OBCEGO, takie jak operacje WSTAWIANIA, operacje aktualizacji i przetwarzanie replikacja.

  • Instrukcji INSERT i UPDATE

    Wyłączenie ograniczenia na klucz OBCY umożliwia danych w tabela, być 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 na klucz OBCY podczas instrukcji INSERT i UPDATE.

    Ostrzeżenie

    Wszystkie akcje kaskadowych zdefiniowane na powiązanych klucz podstawowy nie będą wykonywane na wiersze zawierające klucze obce, które są wyłączone.

  • Przetwarzanie replikacji

    Wyłącz ograniczenia na klucz OBCY podczas replikacja, jeśli ograniczenie jest specyficzne dla źródłowa baza danych.Podczas replikacji tabela definicji tabela i danych jest kopiowany z źródłowa baza danych do docelowej bazy danych.Jeśli ograniczenia klucza OBCEGO są specyficzne dla źródłowa baza danych , ale nie są wyłączone podczas replikacja 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 klucza OBCEGO dla instrukcji INSERT i UPDATE

ALTER TABLE (Transact-SQL)

Jak Wyłączanie ograniczenia klucza obcego z WSTAW i instrukcji UPDATE (narzędzia Visual bazy danych)

Aby wyłączyć ograniczenie klucza OBCEGO przy replikacja

ALTER TABLE (Transact-SQL)

Jak Wyłącz ograniczenia na klucz obcy dla replikacji (wizualne Narzędzia bazy danych)

Aby uzyskać informacje dotyczące ograniczeń klucza OBCEGO

sys.foreign_keys (języka Transact-SQL)

Aby uzyskać informacje dotyczące kolumn tworzących ograniczenia na klucz OBCY

sys.foreign_key_columns (języka Transact-SQL)

Zobacz także

Koncepcje