|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||||
|
Futur Membre du Club
![]() Baptiste Développeur .NET Inscription : janvier 2005 Messages : 64 ![]() |
Code :
Code :
Si vous pouvez m'aider... Merci |
||||
|
00
|
|
|
#2 | ||||
![]() Salim Développeur et DBA Oracle Inscription : octobre 2006 Messages : 872 ![]() |
Code :
Code :
|
||||
|
|
00
|
|
|
#3 |
|
Futur Membre du Club
![]() Baptiste Développeur .NET Inscription : janvier 2005 Messages : 64 ![]() |
Donc si je comprend bien, Oracle lève deux exceptions. L'une qu'on récupère avec notre code personnalisé, et l'autre qu'Oracle lui-même lève, il faut donc la catcher aussi.
Je vais essayer de rajouter une zone Exception dans le code. Mais est-ce tout de même normal que Oracle ne lève pas uniquement mon exception personnalisée de code -20000 ? |
|
00
|
|
|
#4 |
|
Futur Membre du Club
![]() Baptiste Développeur .NET Inscription : janvier 2005 Messages : 64 ![]() |
Bon bah visiblement d'après un tuto que j'ai trouvé sur developpez.com, quand le trigger fonctionne (donc empêche l'insertion), Oracle répond systématiquement:
- Code Personnalisé - ORA-06512 - ORA-04088 Donc quelque part cela veut dire que mon trigger fonctionne. Mais du coup ce n'est pas du tout comme le C++/Java (je suis issu de ces langages) où quand on veut lever une exception, on lève que la personnalisée et pas les deux autres. Donc je marque comme résolu mais est-il possible d'empêcher l'affichage des deux derniers messages d'erreurs ? |
|
00
|
|
|
#5 | ||||
|
Futur Membre du Club
![]() Baptiste Développeur .NET Inscription : janvier 2005 Messages : 64 ![]() |
Par contre j'ai un problème dans un autre trigger, et franchement j'ai vraiment du mal avec la syntaxe SQL et les messages d'erreurs pas clairs que me renvoie Oracle. Mais c'est en faisant des erreurs qu'on apprend non ?
Code :
Mais Oracle me dit qu'il y a une erreur de syntaxe: Code :
Merci. |
||||
|
00
|
|
|
#6 | ||
|
Futur Membre du Club
![]() Baptiste Développeur .NET Inscription : janvier 2005 Messages : 64 ![]() |
C'est bien ce que je pensais. On peut pas faire d'affectation comme en C. Du coup j'ai résolu le problème en faisant la somme dans la comparaison:
Code :
|
||
|
00
|
|
|
#7 | ||||
|
Futur Membre du Club
![]() Baptiste Développeur .NET Inscription : janvier 2005 Messages : 64 ![]() |
Je me permets de réouvrir ce topic car j'ai encore une erreur sur un trigger. Le langage SQL n'est vraiment pas facile.
Le but du trigger est de vérifier si le nouveau prix d'une activité est inférieur à l'ancien prix. Si c'est le cas, on ajoute la différence de l'ancien prix et du nouveau prix au prix de la Station. Code :
Code :
|
||||
|
00
|
|
|
#8 | ||
|
Futur Membre du Club
![]() Baptiste Développeur .NET Inscription : janvier 2005 Messages : 64 ![]() |
Visiblement, c'était bien le REFERENCING qui posait problème.
La solution: Code :
|
||
|
00
|
Copyright © 2000-2012 - www.developpez.com