SQL Server obecnie nie obsługuje podzapytania dla CHECK OGRANICZENIA .
Jak już odkryłeś, może być problem z ograniczeniami CHECK angażowanie UDF podczas próby obejścia ograniczenia podzapytań.
Alternatywnymi strategiami implementacji ograniczeń są wyzwalane procedury i wbudowana procedura . Ten pierwszy jest preferowany, ponieważ, podobnie jak ograniczenia deklaratywne, nie można ich obejść.
Wdrożenie wyzwalanej strategii proceduralnej, która jest dobrze zoptymalizowana i obsługuje problemy ze współbieżnością, jest nietrywialne, ale nadal wykonalne. Bardzo polecam książkę Matematyka stosowana dla specjalistów ds. baz danych Autor:Lex de Haan, Toon Koppelaars , rozdział 11 (przykłady kodu to Oracle, ale można je łatwo przenieść do SQL Server).