Bonjour,
Je construis dans ma procédure stockée une variable qui contient une requête SQL.
Cette requête est une requête UNION (ce qui explique pourquoi elle doit être si longue ... )
J'exécute ensuite ma requête dans la procédure stockée en faisant appel à la fonction sp_executesql.
Voila donc ce que cela donne :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 DECLARE @SQLString nvarchar(4000); /* 4000 est la valeur max pour un nvarchar */ SET @SQLString = 'SELECT FROM UNION SELECT FROM ....' ; EXECUTE sp_executesql @SQLString;
Je suis donc coincé puisque ma requête dépasse les 4000 caractères maximum autorisés pour un nvarchar.
J'ai donc changé le type nvarchar en varchar qui autorise jusqu'à 8000 caractères MAIS l'appel à sp_executesql provoque une erreur à l'éxecution
Msg*214, Niveau*16, État*2, Procédure*sp_executesql, Ligne*676
Paramètre '@statement' de type 'ntext/nchar/nvarchar' attendu par la procédure.
Si quelqu'un a une brillante idée pour me sortir de cette affaire
Cdlt.
Partager