Sql server Procedure stockée

Résolu
access2000 Messages postés 2 Date d'inscription jeudi 3 février 2005 Statut Membre Dernière intervention 4 septembre 2006 - 4 sept. 2006 à 18:07
access2000 Messages postés 2 Date d'inscription jeudi 3 février 2005 Statut Membre Dernière intervention 4 septembre 2006 - 4 sept. 2006 à 22:04
Bonjour,

Je débute sur sql et je cherche le moyen d'obtenir un "order by" variable dans une procédure stockée.

Possible ou non ?

Merci

Gilles

2 réponses

nhervagault Messages postés 6063 Date d'inscription dimanche 13 avril 2003 Statut Modérateur Dernière intervention 15 juillet 2011 37
4 sept. 2006 à 21:35
Salut

Il y a deux methodes

La methode du faignant et debutant.

set @ORDER = "monchanmps DESC"
set @STRSQL = "Select * from ma table order by " + @ORDER

Et la methode plus complexe et optimiser

DECLARE @SortOrder tinyint
SET @SortOrder = 2

SELECT CompanyName,
ContactName,
ContactTitle
FROM Customers
ORDER BY CASE WHEN @SortOrder = 1 THEN CompanyName
WHEN @SortOrder = 2 THEN ContactName
ELSE ContactTitle
END

Que tu peux même pousser plus loin avec des operations binaires

& pour faire des unions mais je ne trouve pas d'exemple.
Ca fonctionne sur les group by et les order by.

@sortOrder = 1--> Compagny
@sortOrder = 2--> Contact
@sortOrder = 3--> Compagny et Contact
3
access2000 Messages postés 2 Date d'inscription jeudi 3 février 2005 Statut Membre Dernière intervention 4 septembre 2006
4 sept. 2006 à 22:04
Un grand Merci

Gilles
0
Rejoignez-nous