Je zou het volgende kunnen proberen. U moet een redundante UNIEKE beperking maken op (id, aId)
in Parent (SQL is nogal dom, nietwaar?!).
CREATE TABLE Child
(parentId INTEGER NOT NULL,
aId INTEGER NOT NULL UNIQUE,
FOREIGN KEY (parentId,aId) REFERENCES Parent (id,aId),
createdOn TIMESTAMP NOT NULL);
Een mogelijk veel betere oplossing zou zijn om parentId helemaal uit de Child-tabel te verwijderen, voeg bId
toe in plaats daarvan en gewoon verwijzen naar de bovenliggende tabel op basis van (aId, bId)
:
CREATE TABLE Child
(aId INTEGER NOT NULL UNIQUE,
bId INTEGER NOT NULL,
FOREIGN KEY (aId,bId) REFERENCES Parent (aId,bId),
createdOn TIMESTAMP NOT NULL);
Is er een reden waarom je dat niet kunt doen?