Bonjour,
J'ai besoin de faire une procédure stocké qui retourne une simple requête. Je me suis rendu compte que je pouvais faire de order by car il ne le prend pas en compte. Alors je suis passé par une requête préparé. Là, pas de problème je peux faire une selecte en passant en parametre le champs sur laquelle je veux faire mon ordre. Par contre pour la selection des champs cela ne fonctionne pas.
Voici mon bout de code vous allez comprendre ce que je souhaite faire.
Le message d'erreur retourné est :
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
16
17
18
19
20 CREATE DEFINER = ''@'' PROCEDURE `ShowProduct`(IN p_champs VARCHAR(250), IN p_price INTEGER(11), IN p_sense INTEGER(10)) DETERMINISTIC CONTAINS SQL SQL SECURITY INVOKER COMMENT '' BEGIN SET @req = 'SELECT ? FROM product AS a WHERE a.Price >=? ORDER BY ?'; PREPARE stmt2 FROM @req; SET @a = p_champs; SET @b = p_price; SET @c = p_sense; EXECUTE stmt2 USING @a, @b, @c; DEALLOCATE PREPARE stmt2; END;
Ce qui correspont au SELECT ? [...] après avoir effectué quelque test.Unknown column '?' in 'order clause'
Que faire pour que je puisse passer en parametre les champs que je souhaite retourner ?
Partager