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

PL/SQL Oracle Discussion :

dbms_output dans curseur


Sujet :

PL/SQL Oracle

  1. #1
    Membre régulier
    Inscrit en
    Mars 2005
    Messages
    319
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 319
    Points : 80
    Points
    80
    Par défaut dbms_output dans curseur
    Salut,

    J'ai une procédure qui contient un curseur.
    Je boucle sur mon curseur et à l'intérieur de cette boucle,
    je fais un dbms_output afin de pouvoir suivre le traitement.
    Le soucis est qu'il faut attendre que le traitement se termine pour voir
    mes dbms_output.
    Si mon traitement tourne pendant 10 minutes,je suis obligé d'attendre pour enfin
    voir le resultat du dbms_output.

    Est-ce possible de pouvoir suivre l'avancement du traitement en temps réel et de ne pas etre obligé d'attendre la fin du traitement ?

    Merci.

  2. #2
    Membre confirmé
    Avatar de Bibeleuh
    Homme Profil pro
    Développeur
    Inscrit en
    Septembre 2010
    Messages
    209
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2010
    Messages : 209
    Points : 542
    Points
    542
    Par défaut
    Salut,

    Le sujet a déjà été traité ici :

    http://www.developpez.net/forums/d79...mation-direct/


  3. #3
    Membre averti Avatar de dariyoosh
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    236
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 236
    Points : 334
    Points
    334
    Par défaut
    Bonjour,

    Vous pouvez utiliser une procédure (Autonomous Transaction) qui met à jour en temps réel une table de log. Voici un pseudocode

    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
     
    CREATE TABLE logtab(msg VARCHAR2(500) NOT NULL);
     
     
    CREATE OR REPLACE PROCEDURE updateLogTab(p_msg IN VARCHAR2)
    AUTHID DEFINER
    IS
        PRAGMA AUTONOMOUS_TRANSACTION;
    BEGIN
        INSERT INTO logtab(msg) VALUES(p_msg);
        COMMIT;
    END;
    /
    SHOW ERRORS;
     
     
    CREATE OR REPLACE PROCEDURE getCurVals(p_cur IN REF CURSOR)
    AUTHID DEFINER
    IS
    BEGIN
        <<bk>>
        DECLARE
            recVal  <le type ROWTYPE de votre cursor>;
        BEGIN
            IF p_cur%ISOPEN THEN
                LOOP
                    FETCH p_cur INTO bk.recVal;
                    EXIT WHEN p_cur%NOTFOUND;
                    < . . . Ici donc votre traitement . . .>
                    updateLogTab(p_msg=>< . . . et ici le message . . . >);
                END LOOP;
            END IF;
        END;
    END getCurVAls;
    /
    SHOW ERRORS;
    Cordialement,
    Dariyoosh

  4. #4
    Membre régulier
    Inscrit en
    Mars 2005
    Messages
    319
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 319
    Points : 80
    Points
    80
    Par défaut
    dariyoosh
    si je ne me trompes pas ta procédure logtab va mettre à jour la table de log
    chaque fois qu'une ligne sera insérée dans ma procédure ?

Discussions similaires

  1. Recuperer dbms_output dans un recordset
    Par chesad dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 22/12/2012, 09h57
  2. [oracle + vb6] Comment récupérer une sortie dbms_output dans vb6
    Par pschiit dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 09/02/2011, 16h45
  3. Procedure Stokees dans curseur
    Par bleuerouge dans le forum Développement
    Réponses: 1
    Dernier message: 09/04/2009, 11h21
  4. probleme select dans curseur
    Par pseudobidon57 dans le forum SQL
    Réponses: 7
    Dernier message: 31/05/2007, 11h19
  5. Texte dans curseur
    Par Bardack dans le forum AWT/Swing
    Réponses: 1
    Dernier message: 29/03/2007, 14h37

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