|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre régulier
![]() Inscription : février 2008 Messages : 676 ![]() |
Salut
J'ai un problème lorsque j'effectue un select avec une clause WHERE qui ne retourne aucune donnée.Dans ce cas une exception NO_DATA_FOUND (ORA-01403) est générée. J'ai trouvé aprés des recherches que l'utilisation de la fonction DECODE peut contourner ce problème. j'ai alors testé: Code :
SELECT DECODE (MA_COLONNE,NULL,'0',MA_COLONNE) INTO MA_VARIABLE... |
|
|
00
|
|
|
#2 | ||
|
Membre à l'essai
![]() Inscription : mars 2007 Messages : 59 ![]() |
Code :
|
||
|
|
00
|
|
|
#3 |
|
Membre régulier
![]() Inscription : février 2008 Messages : 676 ![]() |
Merci pour la réponse, mais je la connais et ce que je veux est éviter l'utilisation du bloc EXCEPTION.
|
|
|
01
|
|
|
#4 |
|
Expert Confirmé Sénior
![]() Inscription : juillet 2003 Messages : 3 437 ![]() |
Utilise une fonction de groupe (MAX / MIN, etc...) sur ta colonne => pas d'erreur NO_DATA_FOUND
__________________
More Code : More Bugs. Less Code : Less Bugs |
|
|
00
|
|
|
#5 |
|
Membre Expert
![]() Philippe CHIRCOPChef de projet Inscription : juin 2007 Messages : 1 109 ![]() |
Et pourtant, gérer les exceptions , c'est une bonne pratique !!!
__________________
Garuda गरूड Brahmâ la Guerre et Vishnu la Paix Oracle 10.2.0.4 - Forms6i patch 17 - Toad 11.1 - sharePoint 2010 |
|
|
10
|
|
|
#6 |
|
Expert Confirmé Sénior
![]() ![]() Marius NituIngénieur développement logiciels Inscription : octobre 2007 Messages : 3 311 ![]() |
Si vous ne voulez pas gérer l'Exception NO_DATA_FOUND utiliser un curseur explicite à la place du Select ... Into ...
|
|
|
00
|
|
|
#7 | ||
|
Membre confirmé
![]() Grégoire MARTINIngénieur développement logiciels Inscription : janvier 2011 Messages : 128 ![]() |
Sinon tu peux utiliser l'astuce suivante
Code :
|
||
|
|
00
|
|
|
#8 |
|
Expert Confirmé Sénior
![]() ![]() Marius NituIngénieur développement logiciels Inscription : octobre 2007 Messages : 3 311 ![]() |
Vous voulez dire "mon sous select qui ramène zéro ou une seule ligne" en fait.
C’est à éviter. |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com