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

Execute immediate et messages ?


Sujet :

SQL Oracle

  1. #1
    Membre régulier
    Inscrit en
    Août 2008
    Messages
    193
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 193
    Points : 98
    Points
    98
    Par défaut Execute immediate et messages ?
    Bonjour à tous,


    Voila, je travaille avec les DB 9i et 10g. Je developpe une appli sous forms 10g ou je fais des :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    execute immediate '...';
    soit des select/insert/delete ou truncate/ avec commit ou rollback (DML)

    Je veux savoir comment je peux recuperer en generale les messages de l'execution des instructions. Par exemple:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    execute immediate 'truncate table maTable';
    truncate TABLE maTable succeeded.
    Pour pouvoir faire à la suite des traitements ...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    IF ....
    	THEN execute immediate 'commit';
    	ELSE execute immediate 'rollback';
    END IF
    Je sais que dans certain cas, je peux utiliser le sql%rowcount. Mais est-il possible d'avoir les messages au complet comme:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    truncate TABLE maTable succeeded.
    commit complete.
    x rows deleted.
    ou 
    x rows inserted.

    merci d'avance de votre aide

  2. #2
    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,


    mettez vos instructions dans un fichier avec extension .sql et activez le SPOOL.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    SPOOL resultat.txt
     
    BEGIN
        EXECUTE IMMEDIATE 'TRUNCATE TABLE maTable';
    END;
    /
     
    SPOOL OFF;
    le fichier de sortie "resultat.txt" contient les messages affichés pendant l'exécution des instructions.


    Cordialement,
    Dariyoosh
    Cordialement,
    Dariyoosh

  3. #3
    Membre régulier
    Inscrit en
    Août 2008
    Messages
    193
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 193
    Points : 98
    Points
    98
    Par défaut
    Merci

    Mais pour mes , j'utilise des procedures et fonctions d'un package.

    je ne vois pas comment en fait des spool et si c'est possible ???


Discussions similaires

  1. [PL/SQL] Execute immediate
    Par BiM dans le forum Langage SQL
    Réponses: 7
    Dernier message: 10/08/2005, 12h13
  2. Equivalents de EXECUTE IMMEDIATE ... RETURNING INTO ... ?
    Par swirtel dans le forum Langage SQL
    Réponses: 4
    Dernier message: 31/05/2005, 11h21
  3. [pl/sql] execute immediate
    Par Nadine dans le forum Oracle
    Réponses: 16
    Dernier message: 23/02/2005, 18h37
  4. Execute immediate et nom reserves
    Par nuke_y dans le forum Oracle
    Réponses: 3
    Dernier message: 22/11/2004, 19h17
  5. simuler l'execution d'un message
    Par gaut dans le forum C
    Réponses: 14
    Dernier message: 25/07/2003, 00h01

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