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

Klucz obcy odwołujący się do 2-kolumnowego klucza podstawowego w SQL Server

Oczywiście możliwe jest utworzenie relacji klucza obcego do złożonego (więcej niż jedna kolumna) klucza podstawowego. Nie pokazałeś nam oświadczenia, którego używasz, próbując stworzyć tę relację – powinno to wyglądać następująco:

ALTER TABLE dbo.Content
   ADD CONSTRAINT FK_Content_Libraries
   FOREIGN KEY(LibraryID, Application)
   REFERENCES dbo.Libraries(ID, Application)

Czy tego właśnie używasz? Jeśli (ID, Application) jest rzeczywiście głównym kluczem w dbo.Libraries , to stwierdzenie powinno zdecydowanie działać.

Luk:tylko po to, żeby sprawdzić - czy możesz uruchomić tę instrukcję w swojej bazie danych i zgłosić, co to jest wyjście?

SELECT
    tc.TABLE_NAME,
    tc.CONSTRAINT_NAME, 
    ccu.COLUMN_NAME
FROM 
    INFORMATION_SCHEMA.TABLE_CONSTRAINTS tc
INNER JOIN 
    INFORMATION_SCHEMA.CONSTRAINT_COLUMN_USAGE ccu 
      ON ccu.TABLE_NAME = tc.TABLE_NAME AND ccu.CONSTRAINT_NAME = tc.CONSTRAINT_NAME
WHERE
    tc.TABLE_NAME IN ('Libraries', 'Content')


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Porównaj wartość wielu kolumn z dwóch różnych baz danych

  2. Używanie UDF jako domyślnej wartości kolumny

  3. SQL:USUŃ dane z tabeli samoodnoszącej się w określonej kolejności

  4. Plusy i minusy używania SqlCommand Prepare w C#?

  5. Jak mogę dołączyć moje dane do kalendarza, aby uzyskać rekord dla każdego dnia od początku do końca w SQL Server?