[SQL Server 2005] Question sur proc stoc
salut tlm,
J'ai une proc stoc dont la clause Where est la suivante :
Citation:
WHERE
(TeCalendrier.inAnnee = @inAnneeInf) AND
(TeCalendrier.inSemaine BETWEEN @inSemaineInf AND @inSemaineSup) AND
(TeTempsEffectif.CEinProjet IN (SELECT * FROM Split(@CodesProjet,';'))) AND
(TeTempsEffectif.CEinProjet is not null) AND
(TeTempsEffectif.CEchSalarie IN (SELECT Item FROM Split(@CodesSalarie,';')))
@CodesProjet prend comme valeur la chaîne suivante :
Code:
13;14;15;8;2;1;7;4;5;3;9;10;11;12;19;20;22;24;23;25;6;18;16;21;17
Et je me suis aperçu que le résultat ne prenait en compte qu'une vingtaine de codes projet. Tous les résultats à partir du code 24 inclus ne sortent pas !
J'ai donc supprimé quelques codes du début de chaine pour voir, et effectivement, ça confirme : soit la requête est trop longue, soit la chaîne du IN est trop longue. A moins que ce soit une limite de la fonction Split ?
Bizarrement, ça ne me met aucun message.
Auriez vous une explication, et une solution de contournement ? Merci
J'espère avoir été clair dans mes explications