Ver Mensaje Individual
  #2 (permalink)  
Antiguo 28/01/2014, 10:35
Avatar de huesos52
huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 9 meses
Puntos: 360
Respuesta: Como puedo ordenar una consulta y que solo me traiga 10 registros

Varias cosas mal en tu funcion.

Si en la declaracion retorna un pls_integer, porque lo que realmente devuelves es un varchar2(4000)?
SELECT INTO hace referencia a cursores implicitos que unicamente esperan un registro de retorno. Cuando ejecutas esto con una consulta que requiere 10, te sacará un error TOO_MANY_ROWS.
Para esto debes hacer uso de cursores explicitos.

Por otro lado, solo hablando de la consulta, requieres hacer una subconsulta inicial ordenada y al resultado de la misma, aplicarle un rownum <=10.

Código SQL:
Ver original
  1. SELECT *FROM
  2. (
  3. SELECT
  4.       nombre
  5.     FROM
  6.       tbplandesllonivel_D
  7.     WHERE
  8.       fkplandesllo  =   IdPlanDesllo
  9.       ORDER BY orden
  10. ) WHERE rownum <=10;

saludos
__________________
Without data, You are another person with an opinion.
W. Edwads Deming