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 :

[JDBC]Result set d'une procédure stockée


Sujet :

SQL Procédural MySQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre expérimenté Avatar de Vikisme
    Homme Profil pro
    Développeur Java
    Inscrit en
    Avril 2007
    Messages
    172
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Avril 2007
    Messages : 172
    Par défaut [JDBC]Result set d'une procédure stockée
    Bonjours,
    Mon problème est le suivant :
    Je souhaiterais faire une procédure stockée avec MySQL 5.0 qui me renvoit le résultat d'une requête de type SELECT que je puisse utiliser sous Java avec un ResultSet.

    Après quelques recherches, j'ai trouvé ceci, mais c'est pour Oracle, la solution proposée me conviendrait bien mais encore faudrait-il que je sache comment ajouter un type avec MySQL...

    Citation Envoyé par Beuss
    Il faut que tu utilises un nouveau type (TYPE RecordSet IS REF CURSOR) et que ta fonction retourne une valeur de ce type. Ensuite la syntaxe est la même que d'habitude (pour le nouveau type tu dois etre dans un package)

  2. #2
    Membre émérite Avatar de pop_up
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    877
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2006
    Messages : 877
    Par défaut
    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
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    CREATE PROCEDURE ....
    
    BEGIN
    
    DECLARE v_cur_done INT;
    DECLARE variable1 VARCHAR(80);
    DECLARE variable2 VARCHAR(80);
    ....
    ....
    
    
    
    DECLARE cursor_of_my_table CURSOR FOR 
      SELECT  ...
      FROM    ...
      WHERE   ...;
    
    -- Gestion de l erreur fin de curseur 
      DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' 
        SET v_cur_done = 1;
    
    
    OPEN cursor_of_my_table
    
    FETCH cursor_of_my_table
       INTO variable1, variable2, ....
    
    WHILE NOT v_cur_done DO
    
    fait ce que tu veux ici
    
    FETCH cursor_of_my_table
       INTO variable1, variable2, ....
    
    END WHILE;
    
    
    CLOSE cursor_of_my_table
    
    COMMIT;
    END;
    c'est un truc de ce genre que tu veux ?

  3. #3
    Membre expérimenté Avatar de Vikisme
    Homme Profil pro
    Développeur Java
    Inscrit en
    Avril 2007
    Messages
    172
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Avril 2007
    Messages : 172
    Par défaut
    Non ce que je voudrais c'est renvoyer le curseur pour pouvoir l'utiliser dans mon programme Java...

    Actuellement j'execute directement la requête dans le code Java mais je voudrais plutôt faire appel à une procédure stockée pour obtenir les données, mais les traitements que j'ai à effectuer doivent être fait dans mon code java, donc j'aurais besoin de pouvoir récupérer un ResultSet (donc un curseur)...
    Je sais pas si je suis assez clair...

  4. #4
    Membre expérimenté Avatar de Vikisme
    Homme Profil pro
    Développeur Java
    Inscrit en
    Avril 2007
    Messages
    172
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Avril 2007
    Messages : 172
    Par défaut
    En fait j'me suis fais chié pour rien, suffit d'executer la requête dans la procédure dans le genre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    CREATE DEFINER=`root`@`localhost` PROCEDURE `fonction`()
    BEGIN
      SELECT * FROM commune;
    END

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

Discussions similaires

  1. passage d'un nom de table dans une procédure stockée
    Par thierry V dans le forum MS SQL Server
    Réponses: 7
    Dernier message: 26/07/2010, 16h48
  2. Réponses: 7
    Dernier message: 13/12/2005, 16h31
  3. Transformation de date dans une procédure stockée
    Par bd0606 dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 27/10/2003, 11h31
  4. Réponses: 12
    Dernier message: 27/08/2003, 11h04
  5. Problème avec une procédure stockée
    Par in dans le forum Langage SQL
    Réponses: 4
    Dernier message: 27/05/2003, 15h33

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