Ver Mensaje Individual
  #3 (permalink)  
Antiguo 28/01/2014, 11:21
Ghostman95
 
Fecha de Ingreso: enero-2014
Mensajes: 5
Antigüedad: 10 años, 3 meses
Puntos: 0
Respuesta: Como puedo ordenar una consulta y que solo me traiga 10 registros

Cita:
Iniciado por huesos52 Ver Mensaje
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
Muchas gracias por ayudarme, tu código me ha servido, ademas me confundi con lo del varchar2 pero ya lo arregle.
Gracias de nuevo y buen dia.