Précédent   Forum des professionnels en informatique > Bases de données > Oracle > PL/SQL
PL/SQL Forum d'entraide sur le PL/SQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 30/06/2011, 14h44   #1
Futur Membre du Club
 
M H
Inscription : octobre 2010
Messages : 45
Détails du profil
Informations personnelles :
Nom : M H

Informations forums :
Inscription : octobre 2010
Messages : 45
Points : 15
Points : 15
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 :
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!
thisistheend est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/06/2011, 15h20   #2
Expert Confirmé Sénior
 
Avatar de mnitu
 
Homme Marius Nitu
Ingénieur développement logiciels
Inscription : octobre 2007
Messages : 3 311
Détails du profil
Informations personnelles :
Nom : Homme Marius Nitu
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 : 3 311
Points : 5 810
Points : 5 810
Code :
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>
mnitu est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 30/06/2011, 15h36   #3
Membre expérimenté
 
Homme Mohamed Houri
Inscription : mars 2010
Messages : 286
Détails du profil
Informations personnelles :
Nom : Homme Mohamed Houri
Localisation : France

Informations forums :
Inscription : mars 2010
Messages : 286
Points : 563
Points : 563
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 :
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 :
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
Mohamed.Houri est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 30/06/2011, 18h08   #4
Futur Membre du Club
 
M H
Inscription : octobre 2010
Messages : 45
Détails du profil
Informations personnelles :
Nom : M H

Informations forums :
Inscription : octobre 2010
Messages : 45
Points : 15
Points : 15
Merci beaucoup pour votre réponse extrêmement rapide !
Tout bête mais fort pratique.

Encore merci!!!
thisistheend est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/07/2011, 11h06   #5
Membre expérimenté
 
Homme Mohamed Houri
Inscription : mars 2010
Messages : 286
Détails du profil
Informations personnelles :
Nom : Homme Mohamed Houri
Localisation : France

Informations forums :
Inscription : mars 2010
Messages : 286
Points : 563
Points : 563
Bonjour,

Il existe encore une autre possibilité
Code :
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
Mohamed.Houri est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 03h45.


 
 
 
 
Partenaires

Hébergement Web