Bonjour,

J'ai une procédure stockée qui me renvoie un certain nombre de résultats. J'aimerai lui passer en paramètre la colonne selon laquelle trier ces résultats. Mais en plus, j'aimerai pouvoir passer l'ordre (asc ou desc).
J'ai essayé la méthode avec le "order by case" qui fonctionne bien (j'ai lu ce topic), mais dès que j'essaie de mettre un asc ou un desc dedans, ça foire SQL server me renvoie une erreur de syntaxe...

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
order by
case @vOrderBy
		when 'sit' then lb_sit_name asc
end
J'ai essayé ce genre de chose pour rendre mon ordre conditionnel, mais ça ne marche pas plus (évidemment, il bute toujours sur le asc) :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
order by
case @vOrderBy+@vOrder
	when 'sitasc' then lb_sit_name asc
	when 'sitdesc' then lb_sit_name desc
end
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
order by
case @vOrderBy
	when 'sit' then lb_sit_name
end
case @vOrder
	when 'asc' then asc
	else 'desc'
end
Est-ce que quelqu'un aurait une idée ou est-ce que je vais être obligée de passer par une requête créée dynamiquement que je trouve quand même moins jolie...

Merci