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 05/12/2007, 11h51   #1
Membre habitué
 
Avatar de sami_c
 
Inscription : mai 2002
Messages : 633
Détails du profil
Informations forums :
Inscription : mai 2002
Messages : 633
Points : 147
Points : 147
Par défaut [Oracle9i] Je ne peux pas créer un trigger

Bonjour,
J'ai généré le code sql suivant via amcd designor :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
CREATE TABLE MaBase.sommaire_rubrique (ID NUMBER(4) NOT NULL,
					id_numero NUMBER(4) NULL
	                           , TITRE VARCHAR2(255) NULL
	                           , POSITION NUMBER(4) NULL);
 
CREATE SEQUENCE MaBase.sommaire_rubrique_Seq
  START WITH 1
  MAXVALUE 999999999999999999999999
  MINVALUE 1
  NOCYCLE
  NOCACHE
  NOORDER;
 
CREATE TRIGGER MaBase.sommaire_rubrique_Trigger
   BEFORE INSERT
   ON MaBase.sommaire_rubrique  
   FOR EACH ROW
BEGIN
   SELECT MaBase.sommaire_rubrique_Seq.NEXTVAL
     INTO :NEW.ID
     FROM DUAL;
END;
Voilà ce que donne l'exécution du script :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
SQL> start Sommaire.sql
 
TABLE créée.
 
 
Séquence créée.
 
 43  
 44  
 ... (de 45 à 309)  
310  /
 
Avertissement : Déclencheur créé avec erreurs de compilation.
 
SQL> spool off
qu'est ce qui ne va pas ???
sami_c est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/12/2007, 12h02   #2
McM
Expert Confirmé Sénior
 
Inscription : juillet 2003
Messages : 3 450
Détails du profil
Informations forums :
Inscription : juillet 2003
Messages : 3 450
Points : 4 209
Points : 4 209
Fais un Show errors dans sql+
__________________
More Code : More Bugs. Less Code : Less Bugs
McM est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/12/2007, 12h03   #3
Expert Confirmé
 
Homme
Chef de projet en SSII
Inscription : janvier 2004
Messages : 2 866
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 866
Points : 3 448
Points : 3 448
Fais show err trigger sommaire_rubrique_Trigger

Après tu devrais pouvoir t'en sortir tout seul
__________________
Un problème sans solution est un problème mal posé

Merci de poser vos questions sur le forum, je ne réponds pas aux questions posées par MP.
plaineR est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/12/2007, 12h11   #4
Membre habitué
 
Avatar de sami_c
 
Inscription : mai 2002
Messages : 633
Détails du profil
Informations forums :
Inscription : mai 2002
Messages : 633
Points : 147
Points : 147
je n'ai pas accès à la console sql, je crée un fichier .sql que j'envoi par mail au dba !!
__________________
'...parfois l'informatique peut vous rendre fou...'
sami_c est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/12/2007, 12h49   #5
McM
Expert Confirmé Sénior
 
Inscription : juillet 2003
Messages : 3 450
Détails du profil
Informations forums :
Inscription : juillet 2003
Messages : 3 450
Points : 4 209
Points : 4 209
Et pour le DBA, c'est trop dur de faire un show error ?

Tsss...

Refais un fichier en mettant un show_error

Voici un bout de script que donne TOAD pour une création de table
Code :
1
2
3
4
5
6
 
CREATE OR REPLACE TRIGGER....
...
END;
/
SHOW ERRORS;
__________________
More Code : More Bugs. Less Code : Less Bugs
McM est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/12/2007, 15h09   #6
Rédacteur
 
Homme Salim
Développeur et DBA Oracle
Inscription : octobre 2006
Messages : 872
Détails du profil
Informations personnelles :
Nom : Homme Salim
Localisation : Canada

Informations professionnelles :
Activité : Développeur et DBA Oracle

Informations forums :
Inscription : octobre 2006
Messages : 872
Points : 1 100
Points : 1 100
salut,

J'ai executé le code suivant, ça marche bien
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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
 
CREATE TABLE sommaire_rubrique (ID NUMBER(4) NOT NULL,
					id_numero NUMBER(4) NULL
	                           , TITRE VARCHAR2(255) NULL
	                           , POSITION NUMBER(4) NULL);
 
 
 
CREATE SEQUENCE sommaire_rubrique_Seq
  START WITH 1
  MAXVALUE 999999999999999999999999
  MINVALUE 1
  NOCYCLE
  NOCACHE
  NOORDER;
 
 
 
CREATE TRIGGER sommaire_rubrique_Trigger
   BEFORE INSERT
   ON sommaire_rubrique  
   FOR EACH ROW
BEGIN
   SELECT sommaire_rubrique_Seq.NEXTVAL
     INTO :NEW.ID
     FROM DUAL;
END;
/
 
le résultat :
SQL> edit yy
 
SQL> @ yy;
 
TABLE créée.
 
 
Séquence créée.
 
 
Déclencheur créé.
 
SQL>
salim11 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/12/2007, 22h04   #7
Membre habitué
 
Avatar de sami_c
 
Inscription : mai 2002
Messages : 633
Détails du profil
Informations forums :
Inscription : mai 2002
Messages : 633
Points : 147
Points : 147
merci pour l'info, donc c'est le dba qui s'est gourré quelque part
__________________
'...parfois l'informatique peut vous rendre fou...'
sami_c est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/12/2007, 22h31   #8
Rédacteur/Modérateur
 
Avatar de orafrance
 
Inscription : janvier 2004
Messages : 15 861
Détails du profil
Informations personnelles :
Âge : 35

Informations forums :
Inscription : janvier 2004
Messages : 15 861
Points : 16 212
Points : 16 212
Citation:
Envoyé par sami_c Voir le message
merci pour l'info, donc c'est le dba qui s'est gourré quelque part
c'est surtout un sacré boulet s'il n'a pas 2 minutes à te consacrer pour régler ton problème


désolé, c'est pas sympa mais j'ai pas pu me retenir... c'est à cause de "DBA" comme ça qu'on passe pour des faignants
orafrance est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 11h13.


 
 
 
 
Partenaires

Hébergement Web