Bonjour,
Jusqu'à présent, je n'avais jamais été confronté à ce cas de figure.
J'ai besoin d'exécuté une requête crée dynamiquement avec SP_EXECUTESQL. Jusqu'à là rien d'exceptionnel.
Sauf que la longueur en caractères de la requête peut être extrêmement importante car la table sur laquelle elle porte comprend un (trop) très grand nombre de colonnes (mais là je ne peux rien y faire). Quand je dis important, c'est plus de 4000 caractères de long. Bref aucun type sous SQL 2000 (donc exit NVARCHAR(MAX) ) ne répond à ce besoin.
J'entrevois deux options :
> soit passer par une table temporaire (qui va pas faciliter la lecture du code)
> soit passer par ... l'utilisation de plusieurs variables de type NCHAR. Dès que la taille d'une des variables approche les 4000 caractères, la suite de la requête est enregistrée dans une autre variable.
A la fin on exécute SP_EXECUTESQL @reqSQL1 + @reqSQL2 + ......
Aucune autre solution un peu plus élégante ?
Merci
Partager