Bueno, no le veo nada malo, lo que puedes verificar es lo siguiente:
Has por fuera ambos select. (El cursor y el que usas para buscar el precio)
o usa un debuguer para ver que pasa, esto en el caso que el sql trae info. Si no tienes herramientas para hacer debug, usa el queri que publicaste, condicionalo y colocale dbms para ver que pasa, como un scrip normal.
Por que pareciera que es problema de data.