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 :

Invalidité de trigger


Sujet :

PL/SQL Oracle

  1. #1
    Membre du Club
    Inscrit en
    Octobre 2010
    Messages
    54
    Détails du profil
    Informations forums :
    Inscription : Octobre 2010
    Messages : 54
    Points : 56
    Points
    56
    Par défaut Invalidité de trigger
    Bonjour,

    Je souhaiterais savoir s'il y avait possibilité, i.e. autre qu'avec Toad, de savoir la raison de l'invalidité d'un trigger. C'est-à-dire via le lancement d'une requête SQL?

    J'ai essayé la commande suivante:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SELECT *
    FROM   ALL_OBJECTS
    WHERE  OBJECT_NAME = 'MY_TRIGGER'
    AND    OBJECT_TYPE = 'TRIGGER'
    AND    STATUS <> 'VALID';
    Mais elle ne me donne que le statut de validité. Or je voudrais avoir la raison pour laquelle mon trigger n'a pas réussi à compiler.

    Merci d'avance pour votre aide!

  2. #2
    Expert éminent sénior 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
    Points : 11 252
    Points
    11 252
    Par défaut
    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
     
    SQL> create or replace trigger bi_emp before insert on emp begin null; nada; end;
      2  /
     
    Avertissement : Déclencheur créé avec erreurs de compilation.
    SQL> alter trigger bi_emp compile
      2  /
     
    Avertissement : Déclencheur modifié avec erreurs de compilation.
     
    SQL> show err
    Erreurs pour TRIGGER BI_EMP :
     
    LINE/COL ERROR
    -------- -----------------------------------------------------------------
    1/13     PL/SQL: Statement ignored
    1/13     PLS-00201: l'identificateur 'NADA' doit être déclaré
    SQL>

  3. #3
    Membre expérimenté

    Homme Profil pro
    Inscrit en
    Mars 2010
    Messages
    536
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 536
    Points : 1 359
    Points
    1 359
    Par défaut
    Citation Envoyé par thisistheend Voir le message
    Bonjour,

    Je souhaiterais savoir s'il y avait possibilité, i.e. autre qu'avec Toad, de savoir la raison de l'invalidité d'un trigger. C'est-à-dire via le lancement d'une requête SQL?

    J'ai essayé la commande suivante:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SELECT *
    FROM   ALL_OBJECTS
    WHERE  OBJECT_NAME = 'MY_TRIGGER'
    AND    OBJECT_TYPE = 'TRIGGER'
    AND    STATUS <> 'VALID';
    Mais elle ne me donne que le statut de validité. Or je voudrais avoir la raison pour laquelle mon trigger n'a pas réussi à compiler.

    Merci d'avance pour votre aide!
    Bonjour,

    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
     
    mhouri.world > select object_name
      2  from user_objects
      3  where status    = 'INVALID'
      4  and object_type = 'TRIGGER';
     
    OBJECT_NAME                                       
    ---------------------------------------------
    EMP_TRG    
     
     mhouri.world > alter trigger emp_trg compile
      2  ;
     
    Warning: Trigger altered with compilation errors.
     
    mhouri.world > sho err
    Errors for TRIGGER EMP_TRG:
     
    LINE/COL                                          
    --------                                          
    ERROR                                             
    -----------------------------------------------
    7/5                                               
    PLS-00103: Encountered the symbol "EMP_TRG" when  
    expecting one of the following:                   
    if
    Bien Cordialement

    Mohamed Houri
    Bien Respectueusement
    www.hourim.wordpress.com

    "Ce qui se conçoit bien s'énonce clairement"

  4. #4
    Membre du Club
    Inscrit en
    Octobre 2010
    Messages
    54
    Détails du profil
    Informations forums :
    Inscription : Octobre 2010
    Messages : 54
    Points : 56
    Points
    56
    Par défaut
    Merci beaucoup pour votre réponse extrêmement rapide !
    Tout bête mais fort pratique.

    Encore merci!!!

  5. #5
    Membre expérimenté

    Homme Profil pro
    Inscrit en
    Mars 2010
    Messages
    536
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 536
    Points : 1 359
    Points
    1 359
    Par défaut
    Bonjour,

    Il existe encore une autre possibilité
    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
     
     
    mhouri.world> desc user_errors
     Name                                      Null?    Type
     ----------------------------------------- -------- ----------------------------
     NAME                                      NOT NULL VARCHAR2(30)
     TYPE                                               VARCHAR2(12)
     SEQUENCE                                  NOT NULL NUMBER
     LINE                                      NOT NULL NUMBER
     POSITION                                  NOT NULL NUMBER
     TEXT                                      NOT NULL VARCHAR2(4000)
     ATTRIBUTE                                          VARCHAR2(9)
     MESSAGE_NUMBER                                     NUMBER
     
    mhouri.world> select name, type, text
      2  from user_errors
      3  where name = 'EMP_TRG';
     
    NAME                           TYPE
    ------------------------------ ------------
    TEXT
    --------------------------------------------------------------------------------
    EMP_TRG                        TRIGGER
    PLS-00103: Encountered the symbol "EMP_TRG" when expecting one of the following:
       if
    Mohamed Houri
    Bien Respectueusement
    www.hourim.wordpress.com

    "Ce qui se conçoit bien s'énonce clairement"

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

Discussions similaires

  1. [power designer et Sybase] trigger
    Par mr_qno dans le forum Sybase
    Réponses: 4
    Dernier message: 12/07/2006, 18h32
  2. [Interbase6] Trigger : Post_event
    Par Andry dans le forum InterBase
    Réponses: 2
    Dernier message: 13/05/2003, 09h27
  3. Trigger ??
    Par XDeus dans le forum Développement
    Réponses: 6
    Dernier message: 31/03/2003, 09h44
  4. [PostgreSQL] Refus de STATEMENT dans un trigger
    Par alex2205 dans le forum Requêtes
    Réponses: 3
    Dernier message: 10/03/2003, 12h51
  5. [Comparatif] Procédures stockées, triggers, etc.
    Par MCZz dans le forum Décisions SGBD
    Réponses: 3
    Dernier message: 28/08/2002, 12h27

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