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

SQL Procédural MySQL Discussion :

Procédure stockée en Mysql : retour tableau


Sujet :

SQL Procédural MySQL

  1. #1
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2006
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2006
    Messages : 18
    Par défaut Procédure stockée en Mysql : retour tableau
    Bonjour,

    Je suis confronté à un problème (peut-être déjà résolu mais je n'ai rien trouvé en ce sens).
    Je souhaite créer une procédure stockée qui me retournera un tableau de données.
    Par ex :
    truc devrait renvoyer les variables var1 et var 2 dans mon_tableau après lecture sur la base

    create procedure truc(OUT mon_tableau)
    begin
    select var1 var2 into mon_tableau from table;
    end

    Je ne vois pas du tout comment procéder pour cela.
    Merci de votre aide

  2. #2
    Expert éminent
    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 814
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 814
    Billets dans le blog
    14
    Par défaut
    Par quoi va être utilisée cette procédure ?

    Dans l'exemple fictif que tu donnes, ce n'est qu'une banale requête SELECT. Tu sais qu'on peut utiliser des sous-requêtes dans les requêtes quand même ?
    Tu sais qu'on peut enregistrer des vues et les interroger ensuite comme s'il s'agissait de tables ?
    Tu sais qu'on peut faire des tables temporaires dans certains cas de requêtes complexes ?
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole, en retraite... mais toujours Autoentrepreneur à l'occasion.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  3. #3
    Membre Expert
    Avatar de ericd69
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2011
    Messages
    1 919
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2011
    Messages : 1 919
    Billets dans le blog
    1
    Par défaut
    salut,

    les seuls équivalents à ça, c'est de:
    • concaténer sous forme d'une chaine et de l'exploser sous forme de tableau
    • créer une table temporaire (memory par exemple), la remplir avec les résultats (forcément de même type) et faire un select dessus pour afficher

    dans le langage appelant (ex php) tu récupères donc facilement un tableau

  4. #4
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2006
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2006
    Messages : 18
    Par défaut
    Merci pour les réponses.

  5. #5
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2006
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2006
    Messages : 18
    Par défaut
    Pour être plus précis, je dois récupérer un ensemble de variables (numériques) dans une table, calculer un certain nombre de statistiques (moyenne, écart-type, min, max, coefficient de corrélation...) sur ces variables et ensuite envoyer ces statistiques ainsi que les données de base dans un script php.

  6. #6
    Membre Expert
    Avatar de ericd69
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2011
    Messages
    1 919
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2011
    Messages : 1 919
    Billets dans le blog
    1
    Par défaut
    si tu travailles sur un ensemble de lignes alors la table temporaire à peupler puis afficher est le mieux

  7. #7
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2006
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2006
    Messages : 18
    Par défaut
    Ok merci mais tu peux me donner un exemple ?
    Je débute et ne maîtrise pas encore ...
    Merci de te compréhension !

  8. #8
    Membre Expert
    Avatar de ericd69
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2011
    Messages
    1 919
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2011
    Messages : 1 919
    Billets dans le blog
    1
    Par défaut
    ça dépend de ce que tu dois faire

    vu que tu restes vague...

    dans ta procédure stockée tu crée ta table temporaire avec:
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    drop table if exists temp; -- au cas où la procédure est appelée plusieurs fois dans la même session
    create temporary table temp(
      var1 type1,
      var2 type2,
      ...)engine=memory; -- si la table est courte sinon ne pas préciser engine=memory
    ou selon le traitement:
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    drop table if exists temp; -- au cas où la procédure est appelée plusieurs fois dans la même session
    create temporary table temp select var1,... from table_truc...;

  9. #9
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2006
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2006
    Messages : 18
    Par défaut
    Ok merci
    Je regarde dès que possible et te tiens au courant.

Discussions similaires

  1. Créer une procédure stockée sous MySQL avec phpmyadmin
    Par Jordan59 dans le forum SQL Procédural
    Réponses: 11
    Dernier message: 17/08/2011, 14h08
  2. Impossible de créer une procédure stockée sur MySQL: 5.0.38
    Par donbrico dans le forum SQL Procédural
    Réponses: 5
    Dernier message: 19/11/2008, 18h30
  3. Procédure stockées sur MySql
    Par Sekigawa dans le forum SQL Procédural
    Réponses: 1
    Dernier message: 18/05/2008, 00h13
  4. [SQL server 2005][vb.net] procédure stockée, valeur de retour
    Par Ouija33 dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 14/03/2008, 18h33
  5. Procédure stockée : passage d'un tableau en paramètres
    Par thomas_strass dans le forum MS SQL Server
    Réponses: 6
    Dernier message: 12/05/2006, 14h52

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