CHECK ограниченията с UDFs (което е отговорът на Oded) не се мащабират добре и имат лош паралелизъм. Вижте тези:
- Скаларните UDF, обвити в CHECK ограничения, са много бавни и може да не успеят за многоредови актуализации.
- Тони Роджърсън
И така:
- създайте нова таблица, кажете TableA2XY
- това има PK на TableA и колона char(1) с ПРОВЕРКА, за да позволи ony X или Y. И уникално ограничение за PK на A също.
- tableX и tableY имат нова колона char(1) с отметка, позволяваща само X или Y съответно.
- tableX и tableY имат своите FK към TableA2XY и в двете колони
Това е подходът на суперключ или подтип
- всички базирани на DRI
- няма задействания
- без udfs с достъп до таблица в ограниченията CHECK.