La variable nNumRegistros va con “:” dos puntos delante, :nNumRegistros

Javier González Torrejón
Dpto. de Desarrollo
[email protected]<mailto:[email protected]>

C/Gobelas, 23
28023 MADRID
Tfno.: 918373200-902010193
Fax.: 918373232

[cid:[email protected]]


AVISO
Este mensaje es personal, y podría contener información confidencial o 
legalmente protegida. Si usted no es el destinatario del mismo, o la 
transmisión ha resultado defectuosa, le rogamos que nos lo comunique a la mayor 
rapidez y lo destruya junto a sus copias. Gracias por su colaboración.
[cid:[email protected]]

Por favor, antes de imprimir este correo electrónico, considere su aportación a 
la conservación del Medio Ambiente por la reducción de consumo de papel. 
Gracias por su colaboración.


De: [email protected] 
[mailto:[email protected]] En nombre de jlochoa
Enviado el: viernes, 15 de abril de 2016 19:57
Para: [email protected]
Asunto: Usando cláusula "fetch first n ROWS" en sql de DB2

Hola a todos,

 Soy nuevo en esta comunidad. Pongo a consideración mi primer pregunta:


Estoy desarrollando un procedimiento en SQL en iSeries release 6.1, dentro del 
cual manejo un cursor, el cual tiene una consulta que utiliza la cláusula FETCH 
FIRST n ROWS ONLY. El número de renglones que quiero que me devuelva el cursor 
se lo paso como parámetro al procedimiento, y la consulta queda así:



   declare c1 cursor for
   select idEmpleado, numsoc, replace( replace( replace( replace(
            replace( trim( trim( trim(paterno) || ' ' ||
            trim(materno) ) || ' ' || trim( trim(nombre) || ' ' ||
               trim(nombre2) ) ), ',', '' ), chr(34), '' ), chr(39), '' ),
            ';', '' ), ':', '' ) as nombre, cfbrnm, b.puesto,
          tipoRelacionado, declarativa
   from empleado as a, puestos as b, cfp10201 as c
   where numsoc >= nLlave and b.cvePuesto =
            case
               when a.cvePuesto2 > '0000' then a.cvePuesto2
               else a.cvePuesto
            end and c.cfbrch = a.numsuc
   order by numsoc fetch first nNumRegistros rows only;





Al crear el procedimiento me marca un error en la variable nNumRegistros. Tengo 
por fuerza que ponerle una constante "fetch first 20 rows only"  para que me 
compile, pero mi necesidad es que el número de registros a devolver en el 
cursor sea variable.
Mucho agradeceré algún tip para resolver el problema.



Saludos cordiales;

José Luis
de León, Guanajuato, México


____________________________________________________
Únete a Recursos AS400, nuestra Comunidad ( http://bit.ly/db68dd )
Forum.Help400 © Publicaciones Help400, S.L.

Responder a