Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

SQL:Błąd, osiągnięto limit usług wyrażeń?

Ten problem występuje, ponieważ SQL Server ogranicza liczbę identyfikatorów i stałych, które mogą być zawarte w pojedynczym wyrażeniu zapytania. Limit to 65 535. Test liczby identyfikatorów i stałych jest wykonywany po tym, jak SQL Server rozwinie wszystkie przywoływane identyfikatory i stałe. W SQL Server 2005 i nowszych, zapytania są wewnętrznie znormalizowane i uproszczone. Obejmuje to *(gwiazdkę), kolumny obliczeniowe itp.

Aby obejść ten problem, przepisz zapytanie. Odwołaj się do mniejszej liczby identyfikatorów i stałych w największym wyrażeniu w zapytaniu. Musisz upewnić się, że liczba identyfikatorów i stałych w każdym wyrażeniu zapytania nie przekracza limitu. W tym celu może być konieczne rozbicie zapytania na więcej niż jedno zapytanie. Następnie utwórz tymczasowy wynik pośredni.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. parametry kaskadowe ssrs 2008

  2. Błąd zapytania z niejednoznaczną nazwą kolumny w SQL

  3. Powielanie wierszy na podstawie wartości kolumny w każdym wierszu

  4. Co to jest operator logiczny IN w SQL Server — samouczek SQL Server / TSQL część 122

  5. Wstaw dane varbinary do bazy danych SQL Server