Problème sous oracle 9i
gaficat
Messages postés
3
Date d'inscription
Statut
Membre
Dernière intervention
-
Robert -
Robert -
bonjour,
j'ai développé un trigger sous oracle qui gère des exceptions, lors de la compilation il n'y a pas d'erreur, mais lorsque je fais un insert qui declenche mon trigger des erreurs se produisent
ora-20001:c'est mon exception qui se declenche donc pas de problème
ora06512!!!!!!
ora04088!!!!!!
create or replace trigger verifupdatepuart
before update of puart on article
for each row
begin
if (:new.puart>:old.puart*1.1) then
raise_application_error(-20111,'l augmentation du prix est trop importante');
end if;
end;
Pouvez-vous m'expliquer pourquoi Oracle génère ces erreurs, je vous remercie tous par avance
j'ai développé un trigger sous oracle qui gère des exceptions, lors de la compilation il n'y a pas d'erreur, mais lorsque je fais un insert qui declenche mon trigger des erreurs se produisent
ora-20001:c'est mon exception qui se declenche donc pas de problème
ora06512!!!!!!
ora04088!!!!!!
create or replace trigger verifupdatepuart
before update of puart on article
for each row
begin
if (:new.puart>:old.puart*1.1) then
raise_application_error(-20111,'l augmentation du prix est trop importante');
end if;
end;
Pouvez-vous m'expliquer pourquoi Oracle génère ces erreurs, je vous remercie tous par avance
A voir également:
- Problème sous oracle 9i
- Lenovo yoga 9i - Accueil - Ordinateurs
- Lenovo yoga 9i gen 8 - Accueil - Ordinateurs
- Oracle jre usage ✓ - Forum Virus
- Oracle 11g download windows 64-bit ✓ - Forum Oracle
- Telecharger oracle virtualbox - Télécharger - Émulation & Virtualisation
6 réponses
Il ne "génère" pas d'erreur : c'est la pile des erreurs. Regarde le libellé des erreurs avant de poser des questions sur Oracle ;-)
Les erreurs de -06500 à -06599 sont des erreurs PL/SQL
=> ORA-06512 : indique la ligne de l'erreur (at str line num)
Les erreurs de -04070 à -04099 sont les messages des triggers :
=> ORA-04088 : error during execution of trigger nomdutrigger
Au niveau oracle, je ne suis pas sur qu'on puisse changer ce comportement (il existe bien un deuxième paramètre à raise_application_error, à TRUE ou FALSE, censé mettre l'erreur dans la pile ou tout écraser, mais chez moi en Oracle 8, ça ne change rien :-( )
Mais ne t'inquiete pas trop : le SQLCODE vaudra bien la bonne valeur (celle de ton raise_application_error), donc dans le traitement du "dessus", tu n'auras aucun pb si c'est ce que tu crains :-)
@++
Poster, poster encore et toujours :-)
Les erreurs de -06500 à -06599 sont des erreurs PL/SQL
=> ORA-06512 : indique la ligne de l'erreur (at str line num)
Les erreurs de -04070 à -04099 sont les messages des triggers :
=> ORA-04088 : error during execution of trigger nomdutrigger
Au niveau oracle, je ne suis pas sur qu'on puisse changer ce comportement (il existe bien un deuxième paramètre à raise_application_error, à TRUE ou FALSE, censé mettre l'erreur dans la pile ou tout écraser, mais chez moi en Oracle 8, ça ne change rien :-( )
Mais ne t'inquiete pas trop : le SQLCODE vaudra bien la bonne valeur (celle de ton raise_application_error), donc dans le traitement du "dessus", tu n'auras aucun pb si c'est ce que tu crains :-)
@++
Poster, poster encore et toujours :-)
je te remercie mais le problème c'est que je ne comprend pas pourquoi ces erreurs TRIGGERv se declenchent .
il semblerait que l'utilisation du raise puis du raise_application_error se mette en conflit
il semblerait que l'utilisation du raise puis du raise_application_error se mette en conflit
Pourtant, c logique : c'est la pile des erreurs comme je l'ai dit :
Au raise_application_error, Oracle enregistre qu'une exception est survenue dans le trigger verifupdatepuart => ORA-04088, Ensuite il enregistre le numéro de la ligne et l'endroit en erreur => ORA-06512, Pour finir, ton erreur applicative est enregistrée avec ton libellé => ORA-20901
C'est tout
@++
Poster, poster encore et toujours :-)
Au raise_application_error, Oracle enregistre qu'une exception est survenue dans le trigger verifupdatepuart => ORA-04088, Ensuite il enregistre le numéro de la ligne et l'endroit en erreur => ORA-06512, Pour finir, ton erreur applicative est enregistrée avec ton libellé => ORA-20901
C'est tout
@++
Poster, poster encore et toujours :-)
salut,
j'ai un tp me demande de creer une base de données mais le problem c ke quand je lance la requete permettant la creation il me donne une erreur ke la cration du fichier de control est impossible
j'ai un tp me demande de creer une base de données mais le problem c ke quand je lance la requete permettant la creation il me donne une erreur ke la cration du fichier de control est impossible
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
je veut installer oracle 9i sur debian4.0 mais j'ai un problemedurant l'installation:
libdb.so.2: cannot open shared object file: No such file or directory
libdb.so.2: cannot open shared object file: No such file or directory
Ha merci je ne comprenais pas ce que signifiait le message ORA-06512, j'avais bien trouvé quelque chose sur http://www.oracleref.com/en/ORA-06512.html, mais je dois avouer que je ne comprenais pas. Mais en fait batmat l'explique plus simplement (ORA-06512 : indique la ligne de l'erreur (at str line num))
Merci encore
Merci encore