ORDER BY avec un paramètre
Bonjour,
j'ai une page asp qui appelle une procédure stockée. je voudrais que le nom du champ dans le ORDER BY soit dynamique pour faire un tri soit sur k.keyDoor ou k.keyBaril! J'ai écrit cette procédure mais j'obtiens toujours cette erreur: (désolé pour l'anglais!)
Error 1008: The SELECT item identified by the ORDER BY number 1 contains a variable as part of the expression identifying a column position. Variables are only allowed when ordering by an expression referencing a column name.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| CREATE PROCEDURE getKeysSearch(@etage int, @statut int, @order varchar) AS
BEGIN
SELECT k.keyID, k.keyDoor, k.keyBaril, k.keyAvailable, k.keyDate, k.keyStatus,
k.keyComment, k.empID
FROM keys AS k
WHERE(keyFloor LIKE @etage) AND
((@statut = 1 AND keyAvailable = 'Libre') OR
(@statut = 2 AND keyAvailable = 'Emprunté') OR
(@statut = 3 AND keyAvailable = 'Ne pas émettre') OR
(@statut = 0 ))
ORDER BY @order
END
GO |
Est-ce que c'est quelque chose qu'il est possible de faire ?
Merci!