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')