Buenas tardes amigos tengo un problema al querer poner un *case* en el *order
by* de una consulta.

Resulta que tengo una función que me sirve para 2 cosas distintas con tan
solo cambiarle el sentido al orden del query que uso.

algo como esto :

CREATE OR REPLACE FUNCTION pagar( id_deuda integer, modo integer, monto
double precision)
RETURNS double precision AS
$BODY$

declare
_cur_amort refcursor;
_amort tabla_amortizacion%rowtype;

open
      _cur_amort
      for
        select
            *
        from
            tabla_amortizacion
        where
            deuda_id = id_deuda
            order by case
when modo =1 then fecha asc
 else  fecha desc end;
      loop
/*  contenido */


     end loop;
close _cur_amort;
return monto;
END
  $BODY$
  LANGUAGE plpgsql VOLATILE
  COST 100;


PD:
*Intenté colocar  [if (modo = 1 ) then ] luego del for y tampoco me lo
permitió. *
*Otra cosa que intenté fue colocar el resultado del case entre comillas y
tampoco. *

_________________
····· ¢Ð@ŋı€łg ·····
¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬

"Ningún hombre es más grande que el que se vence a sí mismo por cumplir con
su deber.."
Eugenio María De Hostos

[Imprima sólo si es necesario, cuidemos nuestro planeta]

Responder a