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 :

Problème PL/SQL utilisation de RAISE_APPLICATION_ERROR


Sujet :

PL/SQL Oracle

  1. #1
    Futur Membre du Club
    Inscrit en
    Novembre 2007
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 22
    Points : 7
    Points
    7
    Par défaut Problème PL/SQL utilisation de RAISE_APPLICATION_ERROR
    Bonjour,

    Pouvez-vous m'aider s'il vous plaît ?

    Je viens d'écrire ce trigger dont le corps correspond à cela :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    Begin      
    if (ora_login_user <> 'SYS' and ora_login_user <> 'SYSTEM' and ora_login_user <> 'DBSNMP' and ora_login_user <> 'SYSMAN' ) then      
     
    if (ora_dict_obj_type <> 'VIEW' or ora_sysevent <> 'CREATE') then    
     
    RAISE_APPLICATION_ERROR(-20998, 'Opération interdite',false);      
     
    end if;     
    end if;      
    End;
    Il me semble que c'est un trigger très simple. Pourtant j'ai ce retour :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    Error: ORA-00604: error occurred at recursive SQL level 1
    ORA-20998: Opération interdite.
    ORA-06512: at line 6
     
    SQLState:  60000
    ErrorCode: 604
    Ce que je souhaite obtenir c'est juste l'erreur 20998 et pas les deux autres. J'ai regardé de mon côté, on parle souvent de traitement de la pile d'erreur. Mais je n'ai pas encore trouvé de solution.

    Merci pour votre aide.

    Floxone.

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    354
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 354
    Points : 436
    Points
    436
    Par défaut
    En fait, le fait qu'un trigger se termine avec une erreur non traitée est en soi une erreur!

    L'utilisation du troisième paramètre de raise_application_error n'est pas de grande utilité dans ce cas ...
    Consultant et formateur Oracle

  3. #3
    Futur Membre du Club
    Inscrit en
    Novembre 2007
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 22
    Points : 7
    Points
    7
    Par défaut
    Citation Envoyé par Michel SALAIS Voir le message
    En fait, le fait qu'un trigger se termine avec une erreur non traitée est en soi une erreur!

    L'utilisation du troisième paramètre de raise_application_error n'est pas de grande utilité dans ce cas ...
    Bonjour,

    Merci de votre aide. Je conserve donc obligatoirement cette encapsulation.

    A bientôt,

    Floxone.

Discussions similaires

  1. [SQL] problème avec possible utilisation du IF de SQL
    Par mdr_cedrick dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 22/02/2008, 19h12
  2. [SQL] Problème de requête sql utilisant LIKE
    Par yakup.67 dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 06/06/2007, 13h31
  3. Problème réplication SQL Server et SQL Server CE (RDA)
    Par didix11 dans le forum Réplications
    Réponses: 2
    Dernier message: 15/04/2004, 11h10
  4. Problème Requete SQL et QuickReport
    Par arnaud_verlaine dans le forum C++Builder
    Réponses: 7
    Dernier message: 07/01/2004, 09h31
  5. Réponses: 8
    Dernier message: 23/10/2003, 16h22

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