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 :

Aide pour une procédure stockée


Sujet :

SQL Procédural MySQL

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    67
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 67
    Points : 42
    Points
    42
    Par défaut Aide pour une procédure stockée
    Bonjour à tous !

    Je suis actuellement en train de me mettre aux procédures stockées et je souhaiterais avoir de l'aide pour l'une d'elles ...

    En fait je travaille sur un site de petites annonces et je vais chercher, via la procédure qui suit, les informations qui m'intéressent :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
     
     
    DROP PROCEDURE `getHorse`|
    CREATE DEFINER=`root`@`localhost` PROCEDURE `getHorse`(IN id_ad INTEGER)
    BEGIN
     
    	SELECT ad.addate, ad.adcity, ad.id_departments,	ah.horsename, ah.yearofbirth, ah.liste, ah.registered, ah.sire, ah.mother, ah.pp, ah.ppp, ah.ppm, ah.pm,ah.pmp, ah.pmm, 
    	ah.mp, ah.mpp, ah.mpm, ah.mm, ah.mmm, ah.mmp, ah.price, ah.price2, ah.earnings,sl.name_stallions_list, d.name_department, cou.name_country, s.currency_text, ama.firstname AS member_firstname, ama.lastname AS member_lastname, ama.email  AS member_email, ama.phone  AS member_phone, ama.mobile AS member_mobile,
    	ama.fax AS member_fax, ama.city AS member_city, ama.postcode AS member_postcode
    	FROM Ads AS ad
    	JOIN ad_horses AS ah	ON ad.id_ad = ah.id_ad
    	JOIN departments AS d    ON ad.id_departments  = d.id_departments 
    	JOIN counties       ON d.id_counties = counties.id_counties
    	JOIN countries AS cou    ON counties.id_countries = cou.id_countries
    	JOIN sites AS s      ON ad.id_sites = s.id_sites
    	JOIN ads_member_address AS ama ON ama.id_ad = ad.id_ad
    	LEFT OUTER JOIN stallions_list AS sl   ON ah.id_stallions_list = sl.id_stallions_list
    	WHERE ad.id_ad = id_ad;
    END|
    La table Ads contient les informations communes à tous mes types d'annonces. Il y existe une table "photos" qui contient les photos des annonces avec cette structure :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
     
    CREATE TABLE photos (
      id_photos INTEGER(10) UNSIGNED NOT NULL AUTO_INCREMENT,
      id_ad INTEGER(10) UNSIGNED NOT NULL,
      name_photo VARCHAR(30) NULL,
      display_order INTEGER(10) UNSIGNED NOT NULL,
      PRIMARY KEY(id_photos),
      INDEX photos_FKIndex1(id_ad)
    )
    TYPE=InnoDB;
    Mon souhait est donc de pouvoir récupérer toutes les photos liées à mon annonce (identifiée par id_ad) dans ma procédure ...

    Est-il possible que ma procédure me retourne un nouveau champ (nommé photos ...) contenant un tableau avec toutes les informations relatives aux photos de l'annonce ?

    Par avance merci de votre aide !

    Greg.

  2. #2
    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
    Points : 3 295
    Points
    3 295
    Billets dans le blog
    1
    Par défaut
    oui tu fais un curseur et tu concatènes tes résultats obtenu par la boucle de lecture sur celui-ci, avec un séparateur quelconque ( "," ou ";" ou "<sep>" par exemple), dans un champ de type text

    c'est le moyen simple de fabriquer un tableau d'élément en entrée ou sortie d'une routine stockée

Discussions similaires

  1. Plusieurs colonnes pour une procédure stockée.
    Par Helau dans le forum PostgreSQL
    Réponses: 2
    Dernier message: 22/01/2008, 15h25
  2. Aide pour une procédure stockée
    Par shirya dans le forum Langage SQL
    Réponses: 1
    Dernier message: 02/03/2007, 08h48
  3. Aide sur une Procédure stockée
    Par NicoNGRI dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 10/12/2006, 00h48
  4. Réponses: 2
    Dernier message: 03/12/2006, 12h37
  5. aide pour une procédure
    Par beberd dans le forum SQL Procédural
    Réponses: 7
    Dernier message: 08/11/2006, 09h57

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