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 Firebird Discussion :

Firebird et les curseurs ?


Sujet :

SQL Firebird

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Retraité
    Inscrit en
    Avril 2004
    Messages
    75
    Détails du profil
    Informations personnelles :
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Avril 2004
    Messages : 75
    Par défaut Firebird et les curseurs ?
    je cherche à apprendre à manier firebird 2.0 ( tant qu'à faire !).
    J'ai une table avec plusieurs colonnes dont une est vide.
    Je souhaite remplir cette colonne vide en modifiant les valeurs de plusieurs autres ligne après ligne.
    J'ai du mal à utiliser et comprendre la syntaxe des curseurs ou bien l'instruction
    " for select ". Si quelqu'un peut m'aiguiller avec des exemples pas trop compliqués ce serait sympas !

    Merci d'avance.

    Michel

  2. #2
    Membre Expert

    Homme Profil pro
    Consultant spécialité Firebird
    Inscrit en
    Mai 2002
    Messages
    2 342
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France

    Informations professionnelles :
    Activité : Consultant spécialité Firebird
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 342

  3. #3
    Membre confirmé
    Profil pro
    Retraité
    Inscrit en
    Avril 2004
    Messages
    75
    Détails du profil
    Informations personnelles :
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Avril 2004
    Messages : 75
    Par défaut firebird et curseurs
    Merci Philippe

    ça devrait aller !


    salutations
    Michel

  4. #4
    Membre confirmé
    Profil pro
    Retraité
    Inscrit en
    Avril 2004
    Messages
    75
    Détails du profil
    Informations personnelles :
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Avril 2004
    Messages : 75
    Par défaut Problèmes quand même !
    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
    begin
     
    Open client_curseur;
    cpt = 1;
     
    while (cpt < 5) do
    begin
     
    fetch client_curseur
    into
    :num_idx_cli2,
    :cpt,
    :numero_idx_myo,
    :date_cli;
    execute procedure test_maj :num_idx_cli2,:date_cli returning_values :numero_idx_myo;
    update myo set myo.numero = :numero_idx_myo;
    cpt = cpt + 1;
    suspend;
     
    end
     
    close client_curseur;
    end
    Voila le code de ma procédure; Je pensai que c'était bon, mais elle ne passe qu'une fois dans la boucle "While do", ne récupère que les valeurs de la première ligne et affecte toute la colonne considérée avec la même valeur et non les valeurs de chaque ligne.
    Qu'est-ce que je fait de mal ?
    si quelqu'un peut répondre ?
    Merci.
    Michel

  5. #5
    Membre Expert

    Homme Profil pro
    Consultant spécialité Firebird
    Inscrit en
    Mai 2002
    Messages
    2 342
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France

    Informations professionnelles :
    Activité : Consultant spécialité Firebird
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 342
    Par défaut
    le suspend est de trop

  6. #6
    Membre confirmé
    Profil pro
    Retraité
    Inscrit en
    Avril 2004
    Messages
    75
    Détails du profil
    Informations personnelles :
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Avril 2004
    Messages : 75
    Par défaut firebird et les curseurs
    Merci pour le temps accordé.

    j'ai retiré le "suspend" et maintenant la procedure plante IBexpert et Firebird. J'ai donc présumé sur l'erreur était alors au niveau de la déclaration du curseur dont la définition suit.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    SET TERM ^ ;
     
    CREATE PROCEDURE MAJ_TEST_M 
    AS
    DECLARE CLIENT_CURSEUR CURSOR FOR (select myo.numclient,myo.numero,myo.date_1er_ach from myo);
     
    DECLARE VARIABLE ANNEE CHAR(4);
    DECLARE VARIABLE ANNEE2 VARCHAR(4);
    DECLARE VARIABLE A1 CHAR(1);
    DECLARE VARIABLE A2 VARCHAR(1);
    DECLARE VARIABLE A3 VARCHAR(1);
    DECLARE VARIABLE A4 VARCHAR(1);
    ....
    Pour l'instant j'ai abandonné cette voie et j'ai résolu le problème d'une manière différente.
    Pourtant je me dis que j'aurai un jour ou l'autre besoin des curseurs...

    Merci de votre aide.

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 24/05/2007, 10h11
  2. Réponses: 2
    Dernier message: 06/12/2006, 09h09
  3. Problème avec les curseurs SQL SERVER
    Par stefostillrise dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 11/11/2005, 13h09
  4. [C#] Pb avec les curseurs
    Par White_Angel dans le forum Windows Forms
    Réponses: 5
    Dernier message: 16/01/2005, 10h56
  5. [BIGINT dans Firebird] comment les manipuler dans Delphi ?
    Par kase74 dans le forum Bases de données
    Réponses: 4
    Dernier message: 30/08/2004, 11h11

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