Correcto en V5R3 no me funciono y en V6R1 si ....

Perdón por la mala corrección.

Saludos.

El 17 de agosto de 2010 09:46, Fernando Pérez <[email protected]> escribió:

>  Si no te funciona será por la versión. En V5R4 sí se puede hacer.
>
>
>  Saludos.
>
> Fernando Pérez
>
> Cerámica Saloni. Dpto. Organización
>
>
> Raul Bascones escribió:
>
> Esta forma:
>
> delete from biblioteca/archivo where (clave1, clave2) in (Select clave1,
> clave2 from biblioteca/archivo fetch first 10 rows only)
>
> no funciona, la primera si. Cuando es más de un campo se deben concatenar
> los
> campos para su comprobación con "IN", mas o menos sería así:
>
> delete from biblioteca/archivo where (clave1 || clave2) in (Select clave1
> || clave2 from biblioteca/archivo fetch first 10 rows only)
>
> si clave1 y/o clave2 fueran númericos los concatenas con la función
> "DIGITS"
>
> Saludos.
>
>
> El 2 de agosto de 2010 17:05, Fernando Pérez <[email protected]> escribió:
>
>> 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]<[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.
>>
>
> ------------------------------
>
> ____________________________________________________
> Ú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.
>
____________________________________________________
Ú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