Duplicata possible :
T-SQL WHERE col IN ( )
Quelle est la taille maximale d'une requête SQL Server ? (nombre de caractères)
Taille maximale d'une clause IN ? Je crois avoir vu quelque chose à propos d'Oracle qui avait une limite de 1000 éléments, mais vous pourriez contourner cette limite en associant deux IN ensemble. Un problème similaire dans SQL Server ?
UPDATE Quelle serait donc la meilleure approche si je devais prendre 1000 GUIDs d'un autre système (base de données non relationnelle) et faire un 'JOIN in code' contre le serveur SQL ? Est-ce qu'il faut soumettre la liste des 1000 GUIDs à une clause IN ? Ou existe-t-il une autre technique qui fonctionne plus efficacement ?
Je ne l'ai pas testé mais je me demande si je ne pourrais pas soumettre les GUIDs sous forme de document XML. Par exemple
<guids>
<guid>809674df-1c22-46eb-bf9a-33dc78beb44a</guid>
<guid>257f537f-9c6b-4f14-a90c-ee613b4287f3</guid>
</guids>
et ensuite faire une sorte de XQuery JOIN contre le Doc et le Tableau. Moins efficace que la clause 1000 item IN ?