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

Sybase Discussion :

[ASE][T-SQL]Difficulté dans une SP: order by variable


Sujet :

Sybase

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 2
    Points : 2
    Points
    2
    Par défaut [ASE][T-SQL]Difficulté dans une SP: order by variable
    Bonjour je rencontre un problème pour trier les résultats d'une recherche

    Je voudrais faire dans une proc stockée un select * from X order by @num

    Or Sybase ne veut pas compiler ma proc car order by ne prend pas de paramètres

    Auriez vous une solution de contournement?

    Merci d'avance

  2. #2
    Membre chevronné

    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 307
    Détails du profil
    Informations personnelles :
    Âge : 64
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 307
    Points : 1 828
    Points
    1 828
    Par défaut
    Ceci suppose une version de Sybase relativement récente (12.0, si mes souvenirs sont bons), et que @num est un varchar():

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    declare @cmd varchar(255)
    select @cmd = "select * from X order by " + @num
    exec(@cmd)
    Michael
    Michael Peppler
    Membre de TeamSybase - www.teamsybase.com

    "A successful [software] tool is one that was used to do something undreamed of by its author." -- S. C. Johnson

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 2
    Points : 2
    Points
    2
    Par défaut
    merci!

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 25
    Points : 21
    Points
    21
    Par défaut
    Bizarrement, Sybase refuse les variables dans un ORDER BY, mais les autorise dans un CASE... même si celui-ci est dans l'ORDER BY.

    Si la liste des cas possibles est limitée, vous pouvez donc écrire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    SELECT * FROM ma_table ORDER BY CASE @num WHEN 1 THEN 1 WHEN 2 THEN 2 ELSE 3 END

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

Discussions similaires

  1. [SQL Server] Date dans une requete
    Par Sophie2097 dans le forum Langage SQL
    Réponses: 5
    Dernier message: 12/04/2006, 09h59
  2. Réponses: 6
    Dernier message: 24/03/2006, 09h22
  3. [PL/SQL] Multi paramètre dans une fonction
    Par wiLL_ dans le forum Oracle
    Réponses: 2
    Dernier message: 28/02/2006, 17h31
  4. SQL pure : Condition dans une table enfant...
    Par l_apotre dans le forum Requêtes
    Réponses: 7
    Dernier message: 27/11/2005, 18h55
  5. [Conception] insertion sql en php, dans une base de donnée ?
    Par artotal dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 24/10/2005, 04h34

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