jueves, 7 de julio de 2011

Order By Dinámico

Gente, en esta oportunidad quería compartir con uds el hecho de generar un ORDER BY dinámico.

Qué quiere decir esto?, sería poder ordernar una consulta con el parámetro que le pasamos a través de un procedure/function.

Vamos directamente a la creacion del procedure:

create or replace procedure dinamic_text ( pCol in varchar2 )
as

type tCurr is ref cursor;
pCursor tCurr;

begin

open pCursor for 'select * from tablaTest order by ' || pCol;

loop
end loop;

close pCursor;
end;


Haciéndoles un pequeño resumen, lo que hicimos fue definir un cursor, le asignamos un string con nuetro select y le concatenamos
la variable que pasamos por parametro la cual debe contener el nombre de una de las columnas de la tabla, en este caso "tablaTest".

Espero les haya servido

Saludos!
Gondalf

Pd: gracias Jona, ultimamente estás con desarrollos raros, ja