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 :

Compter les lignes d'un SELECT


Sujet :

Développement SQL Server

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    68
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 68
    Points : 40
    Points
    40
    Par défaut Compter les lignes d'un SELECT
    Bonjour

    Existe-il un moyen de renvoyer le nombre de lignes d'un SELECT dans une procédure stockée (Sous forme de paramètre OUTPOUT par exemple).

    Merci d'avance

    Herve Aouate

  2. #2
    Membre émérite
    Avatar de cavo789
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2004
    Messages
    1 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 756
    Points : 2 987
    Points
    2 987
    Par défaut
    SELECT Count(*) ... et tu renvoies ce chiffre comme OUTPUT de ta usp.
    Christophe (cavo789)
    Mon blog, on y parle Docker, PHP, WSL, Markdown et plein d'autres choses : https://www.avonture.be

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    68
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 68
    Points : 40
    Points
    40
    Par défaut
    Merci Christophe.
    Le problème est qu'utiliser cette syntaxe m'oblige à exécuter deux fois le SELECT.
    Une fois pour les données et une fois pour le COUNT car il semble que le COUNT(*) ne puisse pas être ajouté à d'autres données dans un même SELECT.

  4. #4
    Membre émérite
    Avatar de cavo789
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2004
    Messages
    1 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 756
    Points : 2 987
    Points
    2 987
    Par défaut
    Absolument. Soit ta sp retourne un dataset soit un paramètre en output.

    Comment fais-tu usage de ta SP ? Si tu programmes en VB p.e. et que tu initialises un recordset avec ta SP, alors il suffit de faire appel à la propriété .RecordCount du recordset pour ne pas à avoir à réexécuter le code... Trop simple je présume
    Christophe (cavo789)
    Mon blog, on y parle Docker, PHP, WSL, Markdown et plein d'autres choses : https://www.avonture.be

  5. #5
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 761
    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 761
    Points : 52 547
    Points
    52 547
    Billets dans le blog
    5
    Par défaut
    @@ROWCOUNT vous fournit cette information : nombre de ligne de la dernière requête.

    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/ * * * * *

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    68
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 68
    Points : 40
    Points
    40
    Par défaut
    Merci à tous

    Le @@ROWCOUNT est parfait. SQLpro porte bien son pseudo.

    Pour le dernier message de cavo789, j'utilise ADO avec un objet command qui me renvoie un recordset. Et ce recordset ne supporte pas le recordcount.
    Dommage car c'était effectivement très simple.

  7. #7
    Rédactrice

    Avatar de Fleur-Anne.Blain
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    2 637
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 2 637
    Points : 6 805
    Points
    6 805
    Par défaut
    N'oublie pas le tag en bas si ton problème est réglé merci
    la culture c'est comme la confiture moins on en a plus on l'étale.

    Mes tutos

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

Discussions similaires

  1. [PDO] compter les lignes retournées par une requête SELECT
    Par laurentSc dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 30/01/2015, 14h40
  2. Réponses: 4
    Dernier message: 19/11/2013, 11h03
  3. compter les éléments d'un select
    Par jakouz dans le forum Langage SQL
    Réponses: 3
    Dernier message: 16/12/2005, 13h40
  4. Compter les lignes d une <TABLE>
    Par Invité(e) dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 21/01/2005, 14h43
  5. [C#] Compter les lignes d'un DataSet
    Par alexischmit dans le forum ASP.NET
    Réponses: 13
    Dernier message: 26/04/2004, 15h17

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