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.
Est-ce que c'est quelque chose qu'il est possible de faire ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
Merci!
Partager