Sql server Procedure stockée

Résolu
Signaler
Messages postés
2
Date d'inscription
jeudi 3 février 2005
Statut
Membre
Dernière intervention
4 septembre 2006
-
Messages postés
2
Date d'inscription
jeudi 3 février 2005
Statut
Membre
Dernière intervention
4 septembre 2006
-
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

Messages postés
6063
Date d'inscription
dimanche 13 avril 2003
Statut
Modérateur
Dernière intervention
15 juillet 2011
37
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
Messages postés
2
Date d'inscription
jeudi 3 février 2005
Statut
Membre
Dernière intervention
4 septembre 2006

Un grand Merci

Gilles