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

SQL:Грешка, лимитът на Expression услуги е достигнат?

Този проблем възниква, защото SQL Server ограничава броя на идентификаторите и константите, които могат да се съдържат в един израз на заявка. Лимитът е 65 535. Тестът за броя на идентификаторите и константите се извършва, след като SQL Server разшири всички посочени идентификатори и константи. В SQL Server 2005 и по-нови версии заявките са вътрешно нормализирани и опростени. И това включва *(звездичка), изчислени колони и т.н.

За да заобиколите този проблем, пренапишете заявката си. Позовавайте се на по-малко идентификатори и константи в най-големия израз в заявката. Трябва да се уверите, че броят на идентификаторите и константите във всеки израз на заявката не надвишава ограничението. За да направите това, може да се наложи да разделите заявка на повече от една заявка. След това създайте временен междинен резултат.



  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 Server (T-SQL)

  2. Кои са по-ефективни, CTE или временни таблици?

  3. Най-ефективният начин в SQL Server за получаване на дата от дата+час?

  4. Промяна на позицията на NULL при сортиране

  5. Функции на прозореца - Работно общо с нулиране