Ordenación parametrizada en Oracle

Preguntado hace 2 años

Roberto Merina
Votos
PositivosNegativosTotal
4 0 4
36 Visualizaciones
Compártelo: Compártelo en twitterCompártelo en Facebook

Hola,

tengo un procedimiento almacenado que devuelve los registros ordenados por un campo determinado, en uno de los últimos cambios de requisitos tengo que devolver los mismos registros pero ordenados por otros campos. El resto de la sentencia es exactamente igual. Me resisto a hacer varios procedimientos almacenados iguales con sólo ese cambio.

¿Existe alguna manera de parametrizar el campo por el que se ordena en un procedimiento almacenado?

Actualizando datos

1 Respuesta

Hace 2 años

Ricardo González
Votos
PositivosNegativosTotal
303

Hola Roberto,

Una opción es utilizar un campo en la consulta con decode y ordenar por ese campo.

Ejemplo:

select decode(pOrdenarPor, 'ordCampo1', Campo1, 'ordCampo2, Campo2, 'ordCampo3', Campo3) ordenacion, campo1, campo2, campo3 from tabla order by ordenacion asc

Esto hace que si el parametro pOrdenarPor es igual a ordCampo1 el valor del campo ordenación será el valor del Campo1, si es ordCampo2 por Campo2 y si es ordCampo3 por Campo3.

Espero que te sirva de ayuda.

Saludos

Cerrar

Tu respuesta

Confirmación

Cerrar

Si sales ahora, perderás los cambios. ¿Estás seguro de querer salir?

Para participar en Babelias, debes estar convenientemente validado. Si ya eres usuario inicia sesión, si no lo eres, te puedes registrar.

Dar una respuesta

Trata de ser descriptivo, usa al menos 25 caracteres