|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Invité de passage
![]() Inscription : mars 2006 Messages : 20 ![]() |
Bonjour,
Je cherche un moyen de rafraîchir le résultat d'un curseur ou de l'empêcher de ramener les lignes consécutives à la ligne courante du fetch. Je m'explique : J'ai un curseur ouvert sur une vue, vue qui ramène différents résultats en doublon. J'ai une table d'exclusion qui me permet d'exclure les résultats que je ne souhaite pas voir apparaître dans le résultat de la vue. En gros, le code simplifié fait : Code :
J'ai beau chercher, je sèche... Je n'ai trouvé que le contournement en faisant un rownum=1 sur ma vue et en révouvrant le curseur à chaque ligne cherchée : c'est pas très optimisé... J'ai oublié de préciser : je travaille sur Oracle 10G/HPUX11. Si vous avez une idée, je suis preneur ! Merci d'avance. Aurélien |
||
|
|
00
|
|
|
#2 | ||
|
Membre Expert
![]() Inscription : août 2009 Messages : 779 ![]() |
Non, on ne peut pas.
Par contre, vous pourriez probablement faire tout ceci en une seule requête, non ? Et sinon, si quelque chose dans la boucle justifie le procédural, rien n'empêche de vérifier dans la boucle que la condition d'exclusion n'est pas remplie : Code :
|
||
|
|
00
|
|
|
#3 |
|
Invité de passage
![]() Inscription : mars 2006 Messages : 20 ![]() |
Merci pour cette réponse (qui ne m'arrange pas mais merci quand même
Je ne peux malheureusement pas appliqué ta méthode car les requêtes que j’exécute sont dynamiques (le code que j'ai indiqué dans mon premier post était une simplification du code). Je vais donc devoir fermer mon curseur à chaque résultat trouvé... Cdt, Aurélien |
|
|
00
|
|
|
#4 |
|
Expert Confirmé Sénior
![]() ![]() Marius NituIngénieur développement logiciels Inscription : octobre 2007 Messages : 3 313 ![]() |
Et si au lieu d’employer votre usine à gaz vous essayez d’éliminer les doublons via SQL? Et j’ai bien de doutes sur la "nécessité" de ces doublons.
|
|
|
10
|
|
|
#5 | ||
|
Membre actif
![]() Inscription : juin 2004 Messages : 495 ![]() |
Je ne sais pas si je comprends bien le problème.
à tout hasard voici du code pour détecter un doublon: Code :
|
||
|
|
00
|
|
|
#6 |
|
Invité de passage
![]() Inscription : mars 2006 Messages : 20 ![]() |
Je pense que le fait de gérer l'exclusion par SQL est l'usine à gaz contrairement à l'utilisation d'un not exist qui évite d'ouvrir un nouveau curseur. Mais je n'ai pas le choix et vais devoir utiliser cette solution. Merci de votre aide.
|
|
|
00
|
|
|
#7 | |||
|
Invité de passage
![]() Inscription : mars 2006 Messages : 20 ![]() |
Citation:
|
|||
|
|
00
|
Copyright © 2000-2012 - www.developpez.com