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

Langage SQL Discussion :

Ordre chronologique d'exécution du "TOP"


Sujet :

Langage SQL

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2011
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2011
    Messages : 46
    Points : 34
    Points
    34
    Par défaut Ordre chronologique d'exécution du "TOP"
    Bonjour,

    Je n'ai pas trouvé ici et non plus sur Google, je m'y prend peut être mal dans ma recherche, mais difficile de trouver les bon termes.

    Je travail sur des forumulaire sous Access (2003) pour mon stage et j'aimerais ajouter un TextBox où préciser le nombre de ligne à afficher.

    J'ai donc utilisé le "TOP [Nombre]" pour limiter les résultats afficher mais avant de commencer à changer toutes mes requêtes je me demandais: Quel est la priorité d'execution de cette instruction "TOP " sous Access ?
    J'ai l'impression que c'est une des dernières instruction à être prise en compte (ce serait logique) mais j'ai un doute et j'aimerais que ça n'interfère par avec mes group by et autre...

    De plus, est-il possible de l'utiliser au sein d'un UPDATE ?

    Merci beaucoup !

  2. #2
    Membre confirmé Avatar de juvamine
    Profil pro
    Chef de projet MOA
    Inscrit en
    Mai 2004
    Messages
    414
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Mai 2004
    Messages : 414
    Points : 502
    Points
    502
    Par défaut
    Citation Envoyé par ZoomBox Voir le message
    Bonjour,

    Je n'ai pas trouvé ici et non plus sur Google, je m'y prend peut être mal dans ma recherche, mais difficile de trouver les bon termes.

    Je travail sur des forumulaire sous Access (2003) pour mon stage et j'aimerais ajouter un TextBox où préciser le nombre de ligne à afficher.

    J'ai donc utilisé le "TOP [Nombre]" pour limiter les résultats afficher mais avant de commencer à changer toutes mes requêtes je me demandais: Quel est la priorité d'execution de cette instruction "TOP " sous Access ?
    J'ai l'impression que c'est une des dernières instruction à être prise en compte (ce serait logique) mais j'ai un doute et j'aimerais que ça n'interfère par avec mes group by et autre...
    Pour que ton TOP soit pertinent il faut qu'il soit utilisé conjointement avec un ORDER BY
    Exemple
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    select TOP 50 * from Table1 ORDER BY Date_Deb DESC
    te donnera les 50 enregistrement ayant une date_deb récente.
    Si tu n'as pas d'order by dans ta requete, tu pourras avoir des résultats qui divergent d'une exécution à l'autre.

    Citation Envoyé par ZoomBox Voir le message
    De plus, est-il possible de l'utiliser au sein d'un UPDATE ?
    Non.
    Quel est le but ? n'updater que ce que tu as sous les yeux ?
    Juvamine

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2011
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2011
    Messages : 46
    Points : 34
    Points
    34
    Par défaut
    Bonjour,

    J'utilise bien sur un ORDER BY sinon ça n'aurait pas de sens.

    Pour l'UPDATE c'est une erreur en fait, je viens de réliser mais c'était un "INSERT" et en fait je ne pourrais pas le faire quoi qu'il arrive.

    Edit:: Enfin, ma question tient toujours.

  4. #4
    Membre confirmé Avatar de juvamine
    Profil pro
    Chef de projet MOA
    Inscrit en
    Mai 2004
    Messages
    414
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Mai 2004
    Messages : 414
    Points : 502
    Points
    502
    Par défaut
    Ben pour le TOP...
    cela est forcément le dernier traitement de l'exécution d'une requete
    Il faut avoir fait les jointure, et les conditions WHERE avant de restreindre...

    Il fait la requete...puis fait un TOP x

    Désolé mais je n'avais pas bien saisi le sens de la question au départ.
    Juvamine

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2011
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2011
    Messages : 46
    Points : 34
    Points
    34
    Par défaut
    Il fait la requete...puis fait un TOP x
    Oui, ça résume très bien la réponse merci. J'y ai réfléchi en mangeant, posé, et c'est forcément dans les dernier qu'il s'execute étant donné qu'il se fait après un ORDER BY ... qui lui même se fait sans les dernier.

    J'ai d'ailleurs ajouté cette fonctionnalité au projet et ça marche comme un charme !

    Encore merci, bonne journée !

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

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