|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Invité de passage
![]() Étudiant Inscription : février 2007 Messages : 13 ![]() |
Bonjour,
j'ai une fonction qui affiche la liste des employés grace à un curseur. Dans ma fonction j'ai un paramètre : "critere" qui sert dans la requêtre SQL pour pouvoir trier les résultats en fonction de ce critère. Mon problème est que critère est un varchar2 et à pour valeur par défaut : 'nom_emp' et lorsque je crée mon curseur, la requête marche mal puisque dans mon ORDER BY est fait comme ceci : ORDER BY 'nom_emp' alors que je voudrais que ça soit : ORDER BY nom_emp sans les ' '. Le problème est que je ne peux pas mettre les ' ' dans le paramètre de ma fonction donc je souhaiterai convertir la chaine 'nom_emp' en nom_emp pour que le ORDER BY marche. Dans la page, je fais une liste déroulante avec le critère de tri choisi et là encore j'utilise mes paramètres 'nom_emp', 'prenom_emp' ... qui comportent eux aussi des apostrophes que je souhaite là aussi enlever pour que le "ORDER BY" fonctionne. Voici une partie du code : Code :
|
||
|
|
00
|
|
|
#2 |
|
Membre du Club
![]() Inscription : novembre 2005 Messages : 144 ![]() |
Bonjour, regarde du coté du SQL dynamique (execute immediate)
|
|
|
00
|
|
|
#3 |
|
Invité de passage
![]() Étudiant Inscription : février 2007 Messages : 13 ![]() |
Bonjour,
je ne comprend pas bien comment je pourrai faire ceci si tu pouvais me détailler un peu plus comment faire. Merci. |
|
|
00
|
|
|
#4 |
|
Expert Confirmé
![]() Chef de projet en SSII Inscription : janvier 2004 Messages : 2 866 ![]() |
2 solutions :
- soit tu passes par du sql dynamique, dans ce cas fais une recherche sur ref cursor dans le forum, tu trouveras plein d'exemples. - soit tu restes en SQL statique et tu gères ta clause order by par un decode : Code :
ORDER BY decode (critere, 'nom_emp', nom_emp, 'colX', colX, ...)
__________________
Un problème sans solution est un problème mal posé Merci de poser vos questions sur le forum, je ne réponds pas aux questions posées par MP. |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com