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 :

Ne pas stopper un procédure si erreur rencontrée


Sujet :

SQL Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    73
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 73
    Par défaut Ne pas stopper un procédure si erreur rencontrée
    Bonjour à tous,

    Je lance la procédure suivante :

    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
    CREATE OR REPLACE PROCEDURE odshr.Script_chargement_ODS_1 IS
     
    CURSOR c_table IS
    SELECT vsource.view_name, tcible.table_name
    FROM SYS.ALL_TABLES tcible, 
    SYS.ALL_VIEWS vsource
     WHERE tcible.OWNER = 'ODSHR'
    and vsource.OWNER = 'ODSHR'
    and tcible.table_name like 'HRA_%'
    and vsource.view_name like 'ODS_%'
    and rtrim(substr(tcible.table_name,4,25)) = rtrim(substr(vsource.view_name,4,25)) ;
    i c_table%ROWTYPE;
    BEGIN
     
    FOR i IN c_table
    LOOP
    EXECUTE IMMEDIATE 'truncate table ODSHR.' || i.table_name ;
    EXECUTE IMMEDIATE 'Insert into ODSHR.' || i.table_name || ' select * from ODSHR.' || i.view_name ;
    END LOOP;
    END;
    Comment faire pour qu'elle ne s'arrête pas (et continue de traiter toutes les tables du périmètre) si je rencontre une erreur sur une table ?

    Merci d'avance pour votre aide.

  2. #2
    Membre Expert

    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Janvier 2004
    Messages
    2 862
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Conseil

    Informations forums :
    Inscription : Janvier 2004
    Messages : 2 862
    Par défaut
    En gérant des exceptions

  3. #3
    Expert éminent
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Par défaut
    et DBMS_RESUMABLE en cas d'erreur genre tablespace trop petit.

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    73
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 73
    Par défaut
    Ok c'est tout bon, merci à tous

  5. #5
    Expert confirmé Avatar de mnitu
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2007
    Messages
    5 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2007
    Messages : 5 611
    Par défaut
    Le mécanisme d'exception est fait pour ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    Begin
      ...
      Begin
         ...
      Exception
         When Others Then 
            Log_Erreur_quelque_part_et_continue;
            /* Je sais que When Others Then NULL = bug numéro 1 mais ici mon
             * traitement ne doit pas s'arrêter. C’est exceptionnel
             */
      End;
    End;

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

Discussions similaires

  1. Réponses: 7
    Dernier message: 03/05/2007, 12h44
  2. Réponses: 10
    Dernier message: 13/02/2006, 08h30
  3. [Procédure stockée] Erreur 1305
    Par SSJ17Vegeta dans le forum SQL Procédural
    Réponses: 2
    Dernier message: 18/11/2005, 02h38
  4. Je vois pas d'où vient mon erreur!! Aidez moi SVP
    Par liliboms dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 04/04/2005, 08h25
  5. pas moyen de trouver l'erreur de ce code Javascript !!!
    Par NATHW dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 25/11/2004, 21h47

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