Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Jak dodać ograniczenie klucza obcego do istniejącej tabeli w SQL Server (T-SQL)

W kategoriach bazy danych klucz obcy to kolumna połączona z polem klucza podstawowego innej tabeli w relacji między dwiema tabelami.

Klucz obcy jest rodzajem ograniczenia, więc jeśli chcesz utworzyć klucz obcy w SQL Server, musisz utworzyć ograniczenie klucza obcego.

W tym artykule pokazano, jak utworzyć ograniczenie klucza obcego w SQL Server przy użyciu języka Transact-SQL.

Przykład

Najłatwiej to zademonstrować na przykładzie. W tym przykładzie używamy T-SQL do tworzenia ograniczenia klucza obcego za pomocą ALTER TABLE oświadczenie:

USE Music;
ALTER TABLE Albums
  ADD CONSTRAINT FK_Albums_Artists FOREIGN KEY (ArtistId)     
      REFERENCES dbo.Artists (ArtistId)
      ON DELETE CASCADE    
      ON UPDATE CASCADE
  ;
GO

Tworzy to relację między dwiema tabelami (Albums tabeli i Artists) stół). Robimy to, tworząc ograniczenie klucza obcego w Albums stół. Określamy, że Albums.ArtistId kolumna jest kluczem obcym do Artists.ArtistId kolumna.

To oczywiście zakłada, że ​​istnieją dwie tabele. Jeśli nie, otrzymalibyśmy błąd.

Używamy również GO który w rzeczywistości nie jest częścią T-SQL. Jest rozpoznawany przez różne narzędzia do sygnalizowania końca partii instrukcji T-SQL.

Sprawdź wynik

Możesz sprawdzić wynik, uruchamiając następujący skrypt:

USE Music;
SELECT 
    name,
    type_desc,
    delete_referential_action_desc,
    update_referential_action_desc
FROM sys.foreign_keys;
GO

To zawiera listę kluczy obcych w Music Baza danych. Zmień nazwę bazy danych, aby pasowała.

Jeśli Twoja baza danych ma zbyt wiele kluczy obcych, zawsze możesz ją zawęzić za pomocą WHERE klauzulę do konkretnego klucza obcego, który Cię interesuje. Możesz również użyć znaku wieloznacznego (* ), jeśli chcesz, aby wszystkie kolumny zostały zwrócone.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Przechowywanie pliku w bazie danych, a nie w systemie plików?

  2. Wybór N wierszy w SQL Server

  3. Jak korzystać z funkcji Stopwords i Stoplist, aby ulepszyć wyszukiwanie pełnotekstowe w programie SQL Server (FTS)

  4. Błąd SQL Server 4104:Nie można powiązać wieloczęściowego identyfikatora.

  5. SQL Server:WYBIERZ tylko wiersze z MAX(DATE)