Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

SQL :erreur, limite des services d'expression atteinte ?

Ce problème se produit car SQL Server limite le nombre d'identificateurs et de constantes pouvant être contenus dans une seule expression d'une requête. La limite est de 65 535. Le test du nombre d'identificateurs et de constantes est effectué une fois que SQL Server a développé tous les identificateurs et constantes référencés. Dans SQL Server 2005 et versions ultérieures, les requêtes sont normalisées et simplifiées en interne. Et cela inclut * (astérisque), les colonnes calculées, etc.

Pour contourner ce problème, réécrivez votre requête. Référencez moins d'identificateurs et de constantes dans la plus grande expression de la requête. Vous devez vous assurer que le nombre d'identificateurs et de constantes dans chaque expression de la requête ne dépasse pas la limite. Pour ce faire, vous devrez peut-être décomposer une requête en plusieurs requêtes. Ensuite, créez un résultat intermédiaire temporaire.