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 :

Un select top (5) > select top(max)


Sujet :

MS SQL Server

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Décembre 2006
    Messages
    47
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Service public

    Informations forums :
    Inscription : Décembre 2006
    Messages : 47
    Points : 38
    Points
    38
    Par défaut Un select top (5) > select top(max)
    Salut,

    J'ai mis en place un système pour limiter le nombre d'enregistrements retournés par les grosses requêtes, pour que selon l'utilisateur soit retournés X enregistrements.

    Chaque utilisateur à un champs nblignemax et j'ai créé une fonction FNGetLimNbCurrentUser()

    SELECT top (dbo.FNGetLimNbCurrentUser()) * from....

    le problème que je rencontre c'est que certains utilisateurs pourraient vouloir recevoir tous les enregistrements même si c'est long et je ne trouve pas ce que ma fonction pourrait retourner dans ce cas (elle retourne l'entier stockées dans la table utilisateur).

    je ne trouve pas de top(max), top (null) ou quoique ce soit qui marche.

    Alors je pourrais stocker -1 et générer ma requete completement différament dans ce cas, mais c'est assez lourd à) mettre en place, donc si une solution toute bête existe je vous remercie de me la faire connaitre.

    @+

  2. #2
    Membre actif
    Inscrit en
    Avril 2005
    Messages
    644
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 644
    Points : 254
    Points
    254
    Par défaut
    tu peux pas faire un truc du genre:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    if dbo.FNGetLimNbCurrentUser()>0 and dbo.FNGetLimNbCurrentUser()<>'' 
    SELECT top (dbo.FNGetLimNbCurrentUser()) * from....
    else
    select * from...
    Pas sûr de la syntaxe...mais l'idée est là
    bon courage

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Décembre 2006
    Messages
    47
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Service public

    Informations forums :
    Inscription : Décembre 2006
    Messages : 47
    Points : 38
    Points
    38
    Par défaut
    Ouep c'est sûr, j'en parle sur la fin de mon message, mais ma question c'est plutôt comment le gérer directement dans la requête.

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    265
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2007
    Messages : 265
    Points : 314
    Points
    314
    Par défaut
    Et si tu utilisais SET ROWCOUNT ?
    http://msdn2.microsoft.com/en-us/library/ms188774.aspx

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Décembre 2006
    Messages
    47
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Service public

    Informations forums :
    Inscription : Décembre 2006
    Messages : 47
    Points : 38
    Points
    38
    Par défaut
    Re,

    Merci c'est parfait :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    DECLARE @limite int
    SET @limite=(dbo.FNGetLimNbCurrentUser())
    SET ROWCOUNT @limite
    SELECT VIL_I...
    et là il suffit de stocker 0 dans la limite est tout est retourné.

    Merci @+

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

Discussions similaires

  1. [INSERT][SELECT] insert avec un select imbriqué
    Par narmataru dans le forum SQL
    Réponses: 11
    Dernier message: 06/03/2013, 03h04
  2. Top 3 dans select/option avec removeChild
    Par artxtra dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 04/05/2007, 19h56
  3. <select value="1">1</select>
    Par picsoun dans le forum Langage
    Réponses: 6
    Dernier message: 18/03/2006, 01h34
  4. [TStringGrid] Masquer la sélection
    Par Benjamin GAGNEUX dans le forum Composants VCL
    Réponses: 3
    Dernier message: 31/05/2004, 15h26
  5. [struts][JSP][select] problème avec le select
    Par redge_touch dans le forum Struts 1
    Réponses: 4
    Dernier message: 14/01/2004, 10h05

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