Natuurlijk is het mogelijk om een refererende sleutelrelatie te creëren met een samengestelde (meer dan één kolom) primaire sleutel. Je hebt ons niet de verklaring laten zien die je gebruikt om die relatie te creëren - het zou zoiets moeten zijn als:
ALTER TABLE dbo.Content
ADD CONSTRAINT FK_Content_Libraries
FOREIGN KEY(LibraryID, Application)
REFERENCES dbo.Libraries(ID, Application)
Is dat wat je gebruikt?? Als (ID, Application)
is inderdaad de primaire sleutel op dbo.Libraries
, zou deze verklaring zeker moeten werken.
Luk:gewoon om te controleren - kun je deze verklaring in je database uitvoeren en rapporteren wat de uitvoer is??
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')