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

DB2 Discussion :

Procédure stockée et ensemble de resultat


Sujet :

DB2

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 15
    Points : 11
    Points
    11
    Par défaut Procédure stockée et ensemble de resultat
    Bonjour,

    Je débute en DB2 et je me demande s'il est possible qu'une procédure stockée puisse renvoyer un ensemble de résultat.

    si oui un exemple serai le bienvenue.

    je pense faire une procedure simple qui me retournerai des résultats comme

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
      SELECT * FROM CLIENTS
      WHERE ID_CLI > 99
    Merci

  2. #2
    jab
    jab est déconnecté
    Rédacteur
    Avatar de jab
    Homme Profil pro
    SharePoint developpeur
    Inscrit en
    Février 2004
    Messages
    1 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Belgique

    Informations professionnelles :
    Activité : SharePoint developpeur
    Secteur : Service public

    Informations forums :
    Inscription : Février 2004
    Messages : 1 173
    Points : 4 339
    Points
    4 339
    Par défaut
    Oui sans problème. Tu dois utiliser un curseur.

    Désolé, je n'ai pas d'exemple sous la main.

  3. #3
    jab
    jab est déconnecté
    Rédacteur
    Avatar de jab
    Homme Profil pro
    SharePoint developpeur
    Inscrit en
    Février 2004
    Messages
    1 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Belgique

    Informations professionnelles :
    Activité : SharePoint developpeur
    Secteur : Service public

    Informations forums :
    Inscription : Février 2004
    Messages : 1 173
    Points : 4 339
    Points
    4 339
    Par défaut
    Après une rapide recherche, j'ai trouvé un exemple. Regarde le listing 3.

    http://www.ibm.com/developerworks/lo...B2-procedures/

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 15
    Points : 11
    Points
    11
    Par défaut
    Super c'est ce que je cherchais.

    Merci.

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 15
    Points : 11
    Points
    11
    Par défaut
    Bonjour,

    point 1:

    Dans cette procédure :

    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
     
    CREATE PROCEDURE DB2ADMIN.GET_EMPLOYEE_NAME (IN EMPID INT)
    RESULT SETS 1
    LANGUAGE SQL
     
    P1: BEGIN
    DECLARE EMPID_VAL INT;
    DECLARE cursor1 CURSOR WITH RETURN FOR      
      SELECT FNAME,LNAME FROM DB2ADMIN.EMPLOYEES
      WHERE DB2ADMIN.EMPLOYEES.EMPID = EMPID_VAL;  
     
    SET EMPID_VAL = EMPID;      
     
    OPEN cursor1;       <--- ici on ouvre le curseur
    END P1
    On ouvre le curseur OK, mais quand et comment doit on le fermer ?


    point 2

    Ce code est-il compatible sur DB2400?
    Car ma base est sur un serveur AS400

    Merci

  6. #6
    jab
    jab est déconnecté
    Rédacteur
    Avatar de jab
    Homme Profil pro
    SharePoint developpeur
    Inscrit en
    Février 2004
    Messages
    1 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Belgique

    Informations professionnelles :
    Activité : SharePoint developpeur
    Secteur : Service public

    Informations forums :
    Inscription : Février 2004
    Messages : 1 173
    Points : 4 339
    Points
    4 339
    Par défaut
    Citation Envoyé par rxseac
    point 1:

    Dans cette procédure :

    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
     
    CREATE PROCEDURE DB2ADMIN.GET_EMPLOYEE_NAME (IN EMPID INT)
    RESULT SETS 1
    LANGUAGE SQL
     
    P1: BEGIN
    DECLARE EMPID_VAL INT;
    DECLARE cursor1 CURSOR WITH RETURN FOR      
      SELECT FNAME,LNAME FROM DB2ADMIN.EMPLOYEES
      WHERE DB2ADMIN.EMPLOYEES.EMPID = EMPID_VAL;  
     
    SET EMPID_VAL = EMPID;      
     
    OPEN cursor1;       <--- ici on ouvre le curseur
    END P1
    On ouvre le curseur OK, mais quand et comment doit on le fermer ?
    Pour fermer un curseur, il existe la commande SQL Close Cursor ou SQLCloseCursor depuis la CLI (ODBC/OLEDB).
    Mais tu peux aussi faire plus avec SQLFreeStmt() .

    sinon au pire il sera fermé lors de la fermeture de la connection.

    Citation Envoyé par rxseac
    point 2

    Ce code est-il compatible sur DB2400?
    Car ma base est sur un serveur AS400
    Je ne connais pas vraiment l'AS400 mais je pense bien que oui. Il s'agit de SQL standard DB2. Tu peux trouver un exemple spécific AS400 en RPG avec un client ODBC sur cette page

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 15
    Points : 11
    Points
    11
    Par défaut
    Merci pour ces informations fort intéressantes.

Discussions similaires

  1. Procédure stockée retournant un ensemble de tuples
    Par sebpern dans le forum SQL Procédural
    Réponses: 1
    Dernier message: 23/10/2009, 14h37
  2. Affichage resultat de procédure stockée via une Gateway
    Par abderahim82 dans le forum PL/SQL
    Réponses: 1
    Dernier message: 16/06/2009, 09h32
  3. Affichage resultat de procédure stockée via une Gateway
    Par abderahim82 dans le forum Oracle
    Réponses: 0
    Dernier message: 16/06/2009, 09h18
  4. Réponses: 2
    Dernier message: 20/03/2009, 09h43
  5. Problemes de resultats d'une procédure stockées
    Par gregb34 dans le forum Oracle
    Réponses: 16
    Dernier message: 09/05/2006, 12h54

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