Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
Limit of IN
Message
 
À
27/03/2012 13:40:24
Information générale
Forum:
Microsoft SQL Server
Catégorie:
Syntaxe SQL
Titre:
Versions des environnements
SQL Server:
SQL Server 2008
Divers
Thread ID:
01539386
Message ID:
01539576
Vues:
54
>Actually that's what I had (I made a mistake in my original post).
>
>It turns out that the query was not the problem, it was actually bringing out all the requested records but I was then exporting the result to Excel using SweetPotato Software's Excel stuff and that was choking on a bad date that had been entered by the user (21/02/0011) so I need to put some date validation in my system.
>
>Using the
IN (<< m.lcListOfPKs >>)
is actually faster than using the table valued stuff, my only concern is if there is some limit that it might have.


I Try limit with this code
lnlastValue=33000
lcListOfPKs = []
FOR ijk = 1 TO m.lnlastValue
    lcListOfPKs = m.lcListOfPKs + TRANSFORM(m.ijk)+IIF(m.ijk= m.lnlastValue, [], [,])
NEXT 

TEXT TO m.lcSQL NOSHOW TEXTMERGE
    SELECT Homo.*
    FROM Homo 
    WHERE Id IN (<< m.lcListOfPKs >>)
ENDTEXT

lnErr = SQLEXEC(lnSqlHandler, m.lcSQL,[crsTest])
IF m.lnErr < 1
   AERROR(laErr)
   WAIT WINDOW (laErr(1,2))
ENDIF
The results are:
2008R2
43 000 Items - OK
44 000 Items - error


2005
32 000 Items - OK
33 000 Items - error

The Error is
Connectivity error: [Microsoft][SQL Server Native Client 10.0][SQL Server]Internal error: An expression services limit has been reached. Please look for potentially complex expressions in your query, and try to simplify them.
_______________________________________________________________
Testing displays the presence, not the absence of bugs.
If a software application has to be designed, it has to be designed correctly!
_______________________________________________________________
Vladimir Zografski
Systems Analyst
Précédent
Suivant
Répondre
Fil
Voir

Click here to load this message in the networking platform