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

MS SQL Server Discussion :

Recuperation du numero de la ligne du select


Sujet :

MS SQL Server

  1. #1
    Membre régulier
    Inscrit en
    Novembre 2002
    Messages
    67
    Détails du profil
    Informations forums :
    Inscription : Novembre 2002
    Messages : 67
    Points : 79
    Points
    79
    Par défaut [RESOLU]Recuperation du numero de la ligne du select
    Salut,

    Je cherche l'equivalent du rownum d'Oracle sous SQL Server.
    Je voudrait pouvoir faire quelque chose du genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT ROWNUM
    FROM ma_table
    J'ai cherche dans l'aide SQL Server (row and co ...) pas reussi a trouver ce qui m'interesse... je sais qu'il existe le TOP mais dans mon cas ca me sert a rien puisque je ne cherche pas a limiter le nombre d'enregistrement en retour mais seulement connaitre leur numero (attention pas un ID)

    PS: la fonction recherche marchait pas quand j'ai rediger ce post.

  2. #2
    En attente de confirmation mail
    Inscrit en
    Novembre 2002
    Messages
    51
    Détails du profil
    Informations forums :
    Inscription : Novembre 2002
    Messages : 51
    Points : 58
    Points
    58
    Par défaut Re: Recuperation du numero de la ligne du select
    Citation Envoyé par P'tit Jean
    Salut,

    Je cherche l'equivalent du rownum d'Oracle sous SQL Server.
    Je voudrait pouvoir faire quelque chose du genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT ROWNUM
    FROM ma_table
    J'ai cherche dans l'aide SQL Server (row and co ...) pas reussi a trouver ce qui m'interesse... je sais qu'il existe le TOP mais dans mon cas ca me sert a rien puisque je ne cherche pas a limiter le nombre d'enregistrement en retour mais seulement connaitre leur numero (attention pas un ID)

    PS: la fonction recherche marchait pas quand j'ai rediger ce post.
    Pour infos :

    http://www.developpez.net/forums/vie...ghlight=rownum

  3. #3
    Membre régulier
    Inscrit en
    Novembre 2002
    Messages
    67
    Détails du profil
    Informations forums :
    Inscription : Novembre 2002
    Messages : 67
    Points : 79
    Points
    79
    Par défaut
    Merci pour le lien, mais si je comprends bien il n'existe pas de specifite SQL Server repondant a cette demande.

    Pour complement d'info :

    soit une table T avec champ1, champ2

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    champ1         champ2
    -------------------------
    toto               Malpoli
    tata               Comique
    titi                 P'tit Canari
    GrosMinet      Bouffeur de canari
    j'aimerai faire une requete qui me sorte comme resultat :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Num     Champ1        Champ2
    ------------------------------------
    1          toto             Malpoli
    2          tata             Comique
    3          titi               P'tit Canari
    ...
    Dans ce resultat c surtout comment avoir Num qui m'interesse.

    Je suis oblige de rajouter une colonne a ma table pour gerer cela ?

  4. #4
    En attente de confirmation mail
    Inscrit en
    Novembre 2002
    Messages
    51
    Détails du profil
    Informations forums :
    Inscription : Novembre 2002
    Messages : 51
    Points : 58
    Points
    58
    Par défaut
    Citation Envoyé par P'tit Jean
    Merci pour le lien, mais si je comprends bien il n'existe pas de specifite SQL Server repondant a cette demande.

    Pour complement d'info :

    soit une table T avec champ1, champ2

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    champ1         champ2
    -------------------------
    toto               Malpoli
    tata               Comique
    titi                 P'tit Canari
    GrosMinet      Bouffeur de canari
    j'aimerai faire une requete qui me sorte comme resultat :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Num     Champ1        Champ2
    ------------------------------------
    1          toto             Malpoli
    2          tata             Comique
    3          titi               P'tit Canari
    ...
    Dans ce resultat c surtout comment avoir Num qui m'interesse.

    Je suis oblige de rajouter une colonne a ma table pour gerer cela ?
    Il faudrait faire une sous-requête dépendante de la requête principale qui te compte le nombre de lignes déjà sorties, permettant ainsi de l'incrémenter à chaque ligne supplémentaire, mais bon ça risque d'être assez chiant je pense ...

    Ou bien alors faire une procédure stockée qui te permettrait d'utiliser des variables, ce qui faciliterait la tâche.

    Mais bon si c'est possible ajoute une colonne à ta table en la déclarant avec le mot-clé IDENTITY qui s'auto-incrémentera à chaque ajout de lignes.

  5. #5
    Membre régulier
    Inscrit en
    Novembre 2002
    Messages
    67
    Détails du profil
    Informations forums :
    Inscription : Novembre 2002
    Messages : 67
    Points : 79
    Points
    79
    Par défaut
    merci j'ai utilise la derniere solution (IDENTITY), ca marche bien.

  6. #6
    Membre régulier
    Inscrit en
    Janvier 2007
    Messages
    248
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 248
    Points : 101
    Points
    101
    Par défaut
    Saluté !!
    et comment tu as fait ? c'est possible d'avoir un exemple de ton select ? j'ai essayé en vain d'utiliser identity sous sql server 2005 mais pas réussi
    mercii
    @+

  7. #7
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 899
    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 : 21 899
    Points : 53 140
    Points
    53 140
    Billets dans le blog
    6
    Par défaut
    La numéartion des lignes existe bien sous SQL Server 2005 et ces fonctions font d'ailleurs partie de la norme SQL. Elles sont appelées "fonction de fenêtrage" (windowing functions). Pour un exemple lisez l'article que j'ai écrit à ce sujet.
    http://sqlpro.developpez.com/SQL_Server_2K5/N1.php
    § 1.7 Fonctions de classement et d'énumération (norme SQL:2003) :

    Pour plus de détail, lisez mon livre.

    A +

Discussions similaires

  1. Réponses: 3
    Dernier message: 02/12/2013, 14h53
  2. recuperer le numero d une ligne
    Par tomy7 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 25/02/2008, 13h19
  3. Retourner ou récupérer le numéro de la ligne
    Par alaindelon dans le forum Langage
    Réponses: 5
    Dernier message: 21/08/2007, 14h52
  4. Recuperer le numero de la ligne ?
    Par Mathelec dans le forum Delphi
    Réponses: 1
    Dernier message: 20/05/2006, 21h37
  5. Réponses: 2
    Dernier message: 19/05/2004, 10h13

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