CHECK-begränsningar med UDF:er (vilket är Odeds svar) skalas inte bra och har dålig samtidighet. Se dessa:
- Skalära UDF:er insvept i CHECK-begränsningar är mycket långsamma och kan misslyckas för flerradsuppdateringar
- Tony Rogerson
Så:
- skapa en ny tabell, säg TableA2XY
- denna har PK för Tabell A och en kolumn char(1) med en CHECK för att tillåta endast X eller Y. Och en unik begränsning för PK för A också.
- tabellX och tabellY har ny kolumn char(1) med en bock för att endast tillåta X respektive Y
- tabellX och tabellY har sina FK till TableA2XY på båda kolumnerna
Detta är supernyckeln eller subtypmetoden
- alla DRI-baserade
- inga utlösare
- inga udf:er med tabellåtkomst i CHECK-begränsningar.