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 :

[SQL]Comment récupérer première/dernière valeurs du curseur?


Sujet :

DB2

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Juin 2004
    Messages
    213
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 213
    Par défaut [SQL]Comment récupérer première/dernière valeurs du curseur?
    Salut,

    La question est totalement exprimée dans le sujet c'est à dire :

    Comment je pourrais faire pour récupérer la première et le dernière valeur d'un curseur.

    En fait j'utilise toutes les données qui sont dans mon curseur mais j'ai besoin de stocker dans une variable la première et la dernière valeur y'a pas une fonction qui le fait ou autre chose?


    Merci d'avance

  2. #2
    Candidat au Club
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2006
    Messages : 4
    Par défaut
    Si vous utilisez la commande FETCH, vous pouvez écrire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    FETCH FIRST FROM nom_cursor
    FETCH LAST FROM nom_cursor

  3. #3
    Membre confirmé
    Inscrit en
    Juin 2004
    Messages
    213
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 213
    Par défaut
    Merci pour cette réponse marc mais le problème est que je travaille sous DB2/AS400 et l'instruction fetch first me plante la compilation de ma procédure SQL.

    Donc si tu avais une autre solution merci d'avance

  4. #4
    Candidat au Club
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2006
    Messages : 4
    Par défaut
    De rien,

    est-ce que ta procédure SQL est incluse dans du RPG ou autre.
    Pourrais-tu me donner un exemple pour mieux comprendre ?
    Pour info, je travaille aussi sur AS/400 en RPG et avec SQL

  5. #5
    Membre confirmé
    Inscrit en
    Juin 2004
    Messages
    213
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 213
    Par défaut
    ma procedure sql est indépendante c'est a dire que je l'appele à partir d'une autre porcedure sql.
    Prenons une code bateau :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     create procedure test language sql
    begin
    declare var integer default 0;
    declare c_num cursor for select id from tabletest;
    .....déclaration des variables permettant de vérifer l'état du curseur.......
    open c_num;
    ins_loop:
    loop
    fetch c_num into var;
    ....traitement......
    end loop ins_loop; close c_num
    end
    En gros mon code ressemble à ça et je voudrais faire un FETCH FIRST mais j'ai essayé de le mettre à n'importe quel endroit mais ça ne change rien il ne veut pas compiler.

  6. #6
    Candidat au Club
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2006
    Messages : 4
    Par défaut
    Je viens d'essayer ce code chez nous,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    create procedure test language sql 
    begin 
    declare var_first character (25); 
    declare var_last character (25);
    declare c_num scroll cursor for select sccdsc from visc; 
    open c_num; 
     
    fetch first from c_num into var_first; 
    fetch last from c_num into var_last;
    insert into visc2 values(var_first , var_last);
    close c_num;
    end;
    en résultat j'ai bien la première et la dernière valeur dans le fichier VISC2.

    pourrais-tu me dire ce que tu reçois comme message d'erreur à la compile.

  7. #7
    Membre confirmé
    Inscrit en
    Juin 2004
    Messages
    213
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 213
    Par défaut
    je viens d'essayer ton code et miracle ça fonctionne!! je pense que mon code ne fonctionnais pas car mon curseur n'était pas scrollable non? en tout cas merci pour ton code

  8. #8
    Candidat au Club
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2006
    Messages : 4
    Par défaut
    avec joie et plaisir

    bonne continuation

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

Discussions similaires

  1. [SQL] Comment récupérer des champs a partir d'un fichier de sauvegarde?
    Par baguira dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 15/03/2007, 18h23
  2. [SQL] comment récupérer le contenu de cases à cocher
    Par Viau dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 31/01/2006, 14h56
  3. Bugs post R2 : comment récupérer la dernière version ?
    Par et.et-and-co dans le forum XMLRAD
    Réponses: 5
    Dernier message: 26/09/2005, 03h02
  4. [Séquences] Pour récupérer la dernière valeur
    Par tnodev dans le forum PostgreSQL
    Réponses: 4
    Dernier message: 24/05/2005, 11h35

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