sql >> Databasteknik >  >> RDS >> Sqlserver

Check Constraint - Undersökningar är inte tillåtna i detta sammanhang

SQL Server stöder för närvarande inte underfrågor för CHECK BEGRÄNSNINGAR .

Som du har upptäckt kan det finnas problem med CHECK-begränsningar involverar UDF:er när man försöker kringgå underfrågans begränsning.

De alternativa strategierna för implementering av restriktioner är utlösta procedurmässiga och inbäddad procedur . Den förra är att föredra eftersom de, i likhet med deklarativa begränsningar, inte kan kringgås.

Att implementera en utlöst procedurstrategi som är väl optimerad och hanterar samtidighetsfrågor är inte trivialt men ändå genomförbart. Jag rekommenderar starkt boken Applied Mathematics for Database Professionals Av Lex de Haan, Toon Koppelaars , kapitel 11 (kodexemplen är Oracle men kan enkelt porteras till SQL Server).



  1. Sammanfoga flera tabeller i SQL

  2. Hur man inaktiverar oracle-cache för prestandatester

  3. Kan inte ansluta till Postgresql på port 5432

  4. Oracle-databas 12c Fel vid försök att ansluta:Nätverksadaptern kunde inte upprätta anslutningen