Bonjour à tous,
Je suis actuellement en stage dans une entreprise et je rencontre un problème, tout d'abord je souhaite préciser que je travaille sous SQL Server Management Studio 2012, j'ai à ma disposition une base de données plutôt volumineuse et je fois effectuer des tableaux de bords.
Après m'être renseigner j'ai décidé d'opter pour une requête de ce format (exemple trouver sur une autre page du site dédié a l'information sur le PIVOT):
j'ai repris ce modèle de requête que j'ai rendu dynamique, ma requête est contenu dans une variable de type varchar(max), mais lorsque j'exécute ma requête elle semble bloquer, j'ai donc testé quelque truc pour cerner le problème et lorsque que j'affiche m'as requête je me rends compte que celle-ci est tronqué, de plus si j'affiche sa longueur cela me renvoi 7999, il me semble donc que ma requête bloque car elle ne peut contenir que 8000 caractère max, j'ai essayé d'alléger ma requête pour voir si elle fonctionner correctement pour cela j'ai retiré l'équivalent de 'AS [2005]' dans ma requête qui permet de renommer les colonnes, elle a donc fonctionné mais mes colonnes n'ayant pu de nom ce n'est pas très utile mais au moins je sais qu'elle fonctionne si je règle ce problème de longueur. Pour info j'estime que m'as requête doit faire entre 10.000 et 11.000 caractère.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 SELECT Produit, SUM([2003]) AS [2003], SUM([2004]) AS [2004], SUM([2005]) AS [2005], SUM([2006]) AS [2006] FROM Ventes PIVOT (SUM(Vente) FOR annee IN ([2003], [2004], [2005], [2006])) AS Annees GROUP BY Produit
Je viens donc vers vous pour savoir si vous auriez une astuce à me proposer pour ce problème de longueur.
PS : j'ai essayé d'utiliser le type text mais j'ai un message d'erreur disant que le type text est interdit en variable locale.
Partager