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 :

Utilisation de FETCH


Sujet :

Langage SQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre Expert
    Avatar de mogwai162
    Homme Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 376
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Vosges (Lorraine)

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 376
    Par défaut Utilisation de FETCH
    Bonjour à tous !

    Mon premier post dans le forum SQL.

    Voici ma question. Si j'ai bien compris lors d'un SELECT, on a le choix entre mettre le résultat de la requête dans un tableau en mémoire et ensuite traiter le tableau ou alors d'utiliser un FETCH (curseur)

    Or, il semblerait que l'utilisation du FETCH soit très déconseillée voire même proscrite par certains.

    Est ce que je me trompe ou pouvez vous me dire pourquoi c'est déconseillé ?

    Merci

  2. #2
    Modérateur
    Avatar de Waldar
    Homme Profil pro
    Sr. Specialist Solutions Architect @Databricks
    Inscrit en
    Septembre 2008
    Messages
    8 454
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Sr. Specialist Solutions Architect @Databricks
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2008
    Messages : 8 454
    Par défaut
    Une bonne réponse de consultant : ça dépend de votre besoin !

  3. #3
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Mai 2002
    Messages
    3 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 173
    Par défaut
    Y a un truc que je ne comprend pas : comment mettre les résultats dans un tableau en mémoire sans que votre programme/qgbd ne fasse un FETCH ?

  4. #4
    Membre Expert
    Avatar de mogwai162
    Homme Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 376
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Vosges (Lorraine)

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 376
    Par défaut
    Ben... moi non plus je comprend pas tout.

    Il est clair que j'ai un langage qui le fait auomatiquement mais... je pense qu'en fait il fait tout de même un fetch pour lire le résultat même si je ne l'ecris pas.

    De plus j'ai du m'égarer...

    Ce que j'ai vu sur les curseurs et les fetchs ne concerneraient que ceux gérées à l'intérieur même d'une requête....

    J'avoue être un peu perdu. Un peu beaucoup...

  5. #5
    Membre actif
    Profil pro
    Inscrit en
    Février 2011
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 29
    Par défaut
    Je ne voudrais pas rajouter de confusion dans ton raisonnement mais il me semble que le "fetch" soit obligatoire : c'est le retour du résultat de ta requête (to fetch = rapporter).

    Le terme "fetch" est utilisez comme nom de fonction dans différents langage avec des résultats variant (mais ayant souvent le sens de rapporter/associer le résultat d'une requête).

    Ne confondrais tu pas FETCH et CURSEUR.

    Si on prend le langage T-SQL , les curseurs permettent de parcourir un jeu de résultats de façon séquentielle.
    Et en effet dans un curseur on fetch une ligne de résultat dans des variables...

    cf : http://sqlpro.developpez.com/cours/s...r_avoidCursor/

  6. #6
    Membre Expert
    Avatar de mogwai162
    Homme Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 376
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Vosges (Lorraine)

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 376
    Par défaut
    Citation Envoyé par gestrad Voir le message
    ...Ne confondrais tu pas FETCH et CURSEUR ?...
    euh... si tu as raison

    De plus j'ai regardé le lien que tu m'as donné et j'ai mieux compris les tenants et les aboutissants de la problématique.

    En résumé, les curseuirs peuvent être bien utiles mais sont à utiliser que si l'on ne peut pas faire autrement.

    Merci à tous

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

Discussions similaires

  1. Utiliser fetch et ses amis dans un Controller
    Par tomtom94500 dans le forum Zend Framework
    Réponses: 39
    Dernier message: 11/06/2010, 13h55
  2. comment utiliser fetch.lazy ?
    Par chakala dans le forum Wildfly/JBoss
    Réponses: 4
    Dernier message: 10/07/2007, 14h05
  3. comment utiliser fetch?
    Par mbouzouita dans le forum Wildfly/JBoss
    Réponses: 8
    Dernier message: 15/06/2007, 17h04
  4. utilisation du fetch
    Par naouna8 dans le forum Hibernate
    Réponses: 2
    Dernier message: 20/07/2006, 17h06
  5. utilisation de fetch avec select
    Par arwen dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 06/06/2003, 10h03

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