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 :

Optimisation traitement SQL


Sujet :

PL/SQL Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre actif
    Inscrit en
    Septembre 2007
    Messages
    63
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 63
    Par défaut Optimisation traitement SQL
    Bonjour,
    J'ai créé plusieurs requêtes sql du type
    Insert tableA ( select .... from tableB).
    Je souhaite voir le nombre de ligne insérées de chaque table et si possible insérer l'information dans une table de log.
    Je souhaite avoir cette information pour chaque requête.
    Je travail sous oracle et pl sql develloper

    Voici un exemple

    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
    37
    38
    39
    40
    Begin 
     
    INSERT INTO  tableA (DATE_TRT,ENT, BAT)
     
    (SELECT 
    trunc(sysdate - 1) AS DATE_TRT,
    ENT,
     BAT
    from tableB
     
    UNION
     
    SELECT 
    trunc(sysdate - 1) AS DATE_TRT,
    ENT,
     BAT
    from tableC );
     
     
     
    INSERT INTO tableD
    ( JOUR,
    ENT,
    BAT)
     
    (Select 
    JOUR,
    ENT,
    BAT
    FROM tableE
     
    UNION
     
    Select 
    JOUR,
    ENT,
    BAT
    FROM tableF );
    end;
    /
    Merci de votre aide

  2. #2
    Membre Expert
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Février 2012
    Messages
    652
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Distribution

    Informations forums :
    Inscription : Février 2012
    Messages : 652
    Par défaut
    via un package/procédure PL/SQL il serait aisé de récupérer le nombre de lignes insérées (SQL%ROWCOUNT) pour chaque requête exécutée et insérer le tout dans une table de log.

    Il serait aussi facile de gérer les éventuelles erreurs.

  3. #3
    Membre actif
    Inscrit en
    Septembre 2007
    Messages
    63
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 63
    Par défaut
    Citation Envoyé par Scriuiw Voir le message
    via un package/procédure PL/SQL il serait aisé de récupérer le nombre de lignes insérées (SQL%ROWCOUNT) pour chaque requête exécutée et insérer le tout dans une table de log.

    Il serait aussi facile de gérer les éventuelles erreurs.
    Merci
    en utilisant cette fonction, le résultat est OK
    Par contre, avez vous une syntaxe pour la gestion des erreurs
    D'avance merci

  4. #4
    Membre Expert
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Février 2012
    Messages
    652
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Distribution

    Informations forums :
    Inscription : Février 2012
    Messages : 652
    Par défaut
    Les erreurs sont récupérées via des EXCEPTION en PL/SQL telles que :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    EXCEPTION
      WHEN DUP_VAL_ON_INDEX THEN ... (Pour les clés dupliquées)
      WHEN OTHERS THEN ... (Pour tout autres types d'erreurs rencontrés)
    A voir les erreurs que vous êtes susceptibles d'avoir et de les "catcher" proprement

  5. #5
    Membre actif
    Inscrit en
    Septembre 2007
    Messages
    63
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 63
    Par défaut
    Citation Envoyé par Scriuiw Voir le message
    Les erreurs sont récupérées via des EXCEPTION en PL/SQL telles que :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    EXCEPTION
      WHEN DUP_VAL_ON_INDEX THEN ... (Pour les clés dupliquées)
      WHEN OTHERS THEN ... (Pour tout autres types d'erreurs rencontrés)
    A voir les erreurs que vous êtes susceptibles d'avoir et de les "catcher" proprement
    oK MERCI
    pour le premier point, j'ai plusieurs requêtes insert à exécuter dans le même PL.
    Je ne vois pas comment passer d'une requête insert à l'autre requête tout en utilisant la même variable.

  6. #6
    Membre Expert
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Février 2012
    Messages
    652
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Distribution

    Informations forums :
    Inscription : Février 2012
    Messages : 652
    Par défaut
    Soit tu enregistres dans ta table LOG le nombre de linges insérées après chaque insertion ou alors tu déclares autant de variables que nécessaire pour stocker les différents résultats et enregistrer dans la LOG en fin de traitement.

    Peux-tu poster ton code pour que l'on voit mieux où tu en es ?

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

Discussions similaires

  1. [AC-2010] Optimisation traitement sql
    Par F.ORTIZ dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 24/07/2013, 10h58
  2. [PHP 5.4] Optimisation des traitements (SQL)
    Par qltmi dans le forum Langage
    Réponses: 1
    Dernier message: 06/04/2013, 11h59
  3. [AC-2007] Optimisation de traitements SQL sous VBA
    Par C_Kloug dans le forum VBA Access
    Réponses: 9
    Dernier message: 06/10/2009, 13h22
  4. [SQL Server 2000] Optimisation traitement
    Par luimême dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 26/02/2008, 11h22
  5. [PL/SQL] Optimisation traitement
    Par nako dans le forum Oracle
    Réponses: 1
    Dernier message: 29/12/2005, 16h01

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