Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Ограничение за проверка - Подзаявките не са разрешени в този контекст

В момента SQL Server не поддържа подзаявки за CHECK ОГРАНИЧЕНИЯ .

Както открихте, може да има проблем с ограниченията CHECK включващи UDF при опит за заобикаляне на ограничението на подзаявката.

Стратегиите за прилагане на алтернативни ограничения са задействани процедурни и вградена процедура . Първото е за предпочитане, тъй като, подобно на декларативните ограничения, те не могат да бъдат заобиколени.

Прилагането на задействана процедурна стратегия, която е добре оптимизирана и се справя с проблеми с паралелността, не е тривиално, но все пак е възможно. Силно препоръчвам книгата Приложна математика за професионалисти в бази данни от Lex de Haan, Toon Koppelaars , глава 11 (примерите за код са Oracle, но могат лесно да бъдат пренесени към SQL Server).



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Sql грешка при актуализация:Операторът UPDATE е в конфликт с ограничението FOREIGN KEY

  2. Как да получите списък с налични SQL сървъри с помощта на C# код?

  3. SCOPE_IDENTITY() за GUID?

  4. Добавете нова колона на таблица към конкретна редна позиция в Microsoft SQL Server

  5. sql server 2008 - намерете кои таблици съдържат определен текст