La forma de poder hacerlo, suponiendo que el campo clave de biblioteca/archivo se llamara 'clave', sería:

delete from biblioteca/archivo where clave in (Select clave from biblioteca/archivo fetch first 10 rows only)

Si en lugar de un solo campo clave tuviera varios (por ejemplo, clave1, clave2), sería parecido:

delete from biblioteca/archivo where (clave1, clave2) in (Select clave1, clave2 from biblioteca/archivo fetch first 10 rows only)

Saludos.

Fernando Pérez 

Cerámica Saloni. Dpto. Organización



Bernabé Estrada escribió:

Pues si se puede usar el fetch en el SQL interactivo.  Ejemplo:

 

Select * from biblioteca/archivo fetch first 10 rows only
 
Pero a mi, al igual que a Pedro, no me déja utilizar esto en caso de un delete. 

 

Saludos.

 

 

From: [email protected] [mailto:[email protected]] On Behalf Of Jorge Ubeda
Sent: Sábado, 31 de Julio de 2010 05:33 a.m.
To: [email protected]
Subject:

 

Pedro
Disculpa si acaso estoy errado yo -no soy un usuario diario de DB2- , pero siempre he usado cursores en rpg, no en el entorno interactivo. O mediante algún otro recurso. Quizá estemos hablando de lo mismo, pero prefiero insistir por las dudas. En tu ejemplo empleado al comienzo de tu consulta, hay dos problemas (al menos usando STRSQL en la "pantalla verde", no el navigator, que no tengo a mano para chequear):
1, como María Bes te indicara, la denominación de las tablas es [biblioteca]/[tabla], no biblioteca.tabla (o catálogo).
2. esa sentencia no se puede ejecutar, porque un cursor no se puede declarar en el ambiente interactivo. Del manual Reference, para el Fetch: This statement can only be embedded in an application program. It is an executable statement that cannot be dynamically prepared. Multiple row fetch is not allowed in a REXX procedure.

Un ejemplo de uso de un cursor en Infocenter lo puedes ver en http://publib.boulder.ibm.com/iseries/v5r1/ic2924/index.htm?info/rzajp/rzajpmst02.htm
Otro más sistematizado:
http://publib.boulder.ibm.com/infocenter/iseries/v5r4/index.jsp?topic=/sqlp/rbafycursorexamp.htm

Espero que esté en el carril correcto...
PD: A tu pregunta, estoy en Valencia, España, y por tu pregunta, no eres el Pedro que conozco. :-)
Jorge Ubeda



Date: Fri, 30 Jul 2010 20:41:18 +0000
From: Pedro Molina <[email protected]>
Subject: RE: version DB2 (Pedro Molina)
To: <[email protected]>
Message-ID: <COL108-

[email protected]>
Content-Type: text/plain; charset="utf-8"



Gracias Jorge, de donde eres?



Mira, de hecho estoy bien claro con lo de los cursores de datos y todo ese rollo, pero aún así no soporta hacer lo que digo.



Con lo del manual, pues es para Z/OS para SAP, pero quería probar a aplicar esto en el i5 y no lo permite.



De hecho en el manual habla de otras operaciones como MERGE y otras cosas que se suponía que eran exclusivos de Oracle, pero ya vez que DB2 también lo soporta.



Se puede utilizar el fetch con el SQL lnteractivo...Select * from tabla where campo = 'X' fetch first 5 rows only...y funciona inclusive con un Insert que se alimenta de un sub-select con la clausula fetch.



Pero gracias de todos modos y agradezco tu interés.



Saludos!!


____________________________________________________ Ú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.
  • [no subject] Jorge Ubeda
    • RE: Bernabé Estrada
      • Re: Fernando Pérez
        • Re: Raul Bascones
          • Re: Fernando Pérez
            • Re: Raul Bascones

Responder a