Hola creo que tienes quitar la clausula FETCH FIRST
e incluir un OPEN c1 seguido de un FECTCH C1 FOR nNumRegistros INTO variables El 15 de abril de 2016, 19:56, jlochoa <[email protected]> escribió: > 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. >
____________________________________________________ Únete a Recursos AS400, nuestra Comunidad ( http://bit.ly/db68dd ) Forum.Help400 © Publicaciones Help400, S.L.

