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 SQL : Boucle sur CURSEUR


Sujet :

DB2

  1. #1
    Candidat au Club
    Inscrit en
    Juin 2006
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 8
    Points : 3
    Points
    3
    Par défaut Procédure SQL : Boucle sur CURSEUR
    J’aimerais connaître une méthode simple pour lire tous les rangs d’un curseur du premier au dernier en utilisant la gestion des erreurs NOT FOUND ou SQLCODE par exemple.

    D’avance merci

  2. #2
    Membre expérimenté

    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    1 298
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 298
    Points : 1 578
    Points
    1 578
    Par défaut
    Avec quel langage ?

  3. #3
    Candidat au Club
    Inscrit en
    Juin 2006
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 8
    Points : 3
    Points
    3
    Par défaut Euh ...
    Désolée, mais je suis débutante sur cet environnement ... Je dirais que c'est l'équivalent du PL/SQL sous ORACLE afin d'écrire des procédures, fonctions ou packages stockés.

  4. #4
    Membre expérimenté

    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    1 298
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 298
    Points : 1 578
    Points
    1 578
    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
    WHENEVER SQLERROR GOTO erreur2;
     
    Declare C1 cursor for
    Select col1, col2, col3, ... from MaTable
    Where ...
    ...
     
    Open C1;
    If SQLCODE < 0   -- erreur1
    ...
    end if:
     
    WHENEVER NOT FOUND GO TO fini;
    MaBoucle: 
     Loop        
      Fetch C1 into var1, var2, var3, ...
     
    If ... Then     -- Pour quitter la boucle avant que le fetch atteigne EOF
       Leave MaBoucle;         
    End If;          
     
    End Loop MaBoucle;    
     
    Close C1;      
     
    fini: 
    ...
    return;
     
    erreur2:
    ...
    return;

  5. #5
    Candidat au Club
    Inscrit en
    Juin 2006
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 8
    Points : 3
    Points
    3
    Par défaut Merci ...
    J'avais essayé quelquechose d'équivalent mais en fait je bloque sur le SQLCODE qui semble avoir toujours la valeur 0 même en fin de curseur !
    Je vais essayer cette solution, merci.

  6. #6
    Membre expérimenté

    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    1 298
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 298
    Points : 1 578
    Points
    1 578
    Par défaut
    En fin de curseur, il me semble bien que SQLCODE = 100.

Discussions similaires

  1. Procédure stockée | boucle sur le 1er résultat
    Par damien24610 dans le forum Langage SQL
    Réponses: 5
    Dernier message: 22/06/2009, 18h57
  2. [T-SQL] Boucle sur les resultats d'un SELECT sans CURSOR
    Par la drogue c'est mal dans le forum Sybase
    Réponses: 1
    Dernier message: 16/06/2008, 12h19
  3. [PL/SQL] boucle dans un curseur
    Par arnauann dans le forum SQL
    Réponses: 4
    Dernier message: 31/08/2007, 15h35
  4. [DEBUTANT]Procédure stockée Traitement sur une boucle de requete
    Par tripper.dim dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 21/06/2007, 17h24
  5. PL/SQL :Retourner un curseur dans une procédure
    Par madina dans le forum PL/SQL
    Réponses: 1
    Dernier message: 24/05/2006, 18h36

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