Preguntado hace 2 años
Roberto Merina
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?
Hace 2 años
Ricardo González
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
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.
Trata de ser descriptivo, usa al menos 25 caracteres
LLeva tu prestigio a tu página o blog, con el widget de Babelias
Usuario de ejemplo