IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Développement SQL Server Discussion :

Procédure stockée et ORDER BY


Sujet :

Développement SQL Server

  1. #1
    Invité
    Invité(e)
    Par défaut Procédure stockée et ORDER BY
    Bonjour,

    J'ai une procédure stockée qui me renvoie un certain nombre de résultats. J'aimerai lui passer en paramètre la colonne selon laquelle trier ces résultats. Mais en plus, j'aimerai pouvoir passer l'ordre (asc ou desc).
    J'ai essayé la méthode avec le "order by case" qui fonctionne bien (j'ai lu ce topic), mais dès que j'essaie de mettre un asc ou un desc dedans, ça foire SQL server me renvoie une erreur de syntaxe...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    order by
    case @vOrderBy
    		when 'sit' then lb_sit_name asc
    end
    J'ai essayé ce genre de chose pour rendre mon ordre conditionnel, mais ça ne marche pas plus (évidemment, il bute toujours sur le asc) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    order by
    case @vOrderBy+@vOrder
    	when 'sitasc' then lb_sit_name asc
    	when 'sitdesc' then lb_sit_name desc
    end
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    order by
    case @vOrderBy
    	when 'sit' then lb_sit_name
    end
    case @vOrder
    	when 'asc' then asc
    	else 'desc'
    end
    Est-ce que quelqu'un aurait une idée ou est-ce que je vais être obligée de passer par une requête créée dynamiquement que je trouve quand même moins jolie...

    Merci

  2. #2
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    22 002
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 22 002
    Billets dans le blog
    6
    Par défaut
    Utilisez du SQL dynamique.

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

  3. #3
    Invité
    Invité(e)
    Par défaut
    Mince, par d'autres moyens ?

    Bon, tant pis, merci quand même

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Problème pour des ORDER BY dans des procédures stockées
    Par mathiaschoquet dans le forum SQL
    Réponses: 0
    Dernier message: 12/01/2012, 10h13
  2. Problème d'order by dans procédure stockée
    Par Lagnio dans le forum SQL Procédural
    Réponses: 2
    Dernier message: 28/07/2010, 09h16
  3. SQL serveur 2000 procédure stockée order by?
    Par Guena5635 dans le forum MS SQL Server
    Réponses: 9
    Dernier message: 28/03/2008, 18h31
  4. Procédure stockée avec order by variable
    Par Le-Cortex dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 18/07/2007, 15h20
  5. Procédure stocké avec un ORDER BY paramétrable
    Par Erakis dans le forum SQL Procédural
    Réponses: 3
    Dernier message: 10/11/2005, 14h12

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo