Gracias por tu opinión Jesus.
De hecho, según el manual que indica que sí se puede hacer un Qry de este tipo, es por una mejora que tiene la versión 9 del DB2, pero obviamente yo no la tengo y por eso no permite hacerlo. Evidentemente hay muchas formas de ejecutar sentencias SQL que nos llevarían al mismo fin, y yo personalmente lo haría así desistiendo de utilizar el fetch en una subconsulta para eliminar una determinada cantidad fija de registros. Yo estuve en un taller de Oracle y pues tuve la oportunidad de apreciar muchas cosas versátiles que tiene al momento de utilizar el SQL, y que según el instructor eran de utilización exclusiva de SQL de Oracle, pero al leer el manual que mencioné, veo que la versión esta del DB2 soporta hacer las mismas cosas que en Oracle, pero no lo he probado. Ahora bien, creo que en realidad el DB2 es una base de datos bastante robusta y que permite hacer programación en SQL de acuerdo a la versión que se utilice de ésta y cuando hablo de robusta me inclino a decir que se da a las patadas con Oracle...será? Saludos!! Date: Tue, 3 Aug 2010 08:43:42 +0200 From: [email protected] To: [email protected] Subject: Re: version DB2 y no soy experto en sql, pero esa sentencia no me parece muy bien constituida. Digamos que si soy un motor sql, no entendería un where que incluya una serie de registros en lugar de una condición (al ejecutar la subconsulta, lo que se obtiene es una serie de registros, y ¿qué debe interpretar el where con respecto a ellos?. ¿qué quieres hacer exactamente? ¿borrar el primer registro de la tabla que contenga el valor de campo='SNHO'? si la tabla tiene un campo clave único, lo puedes hacer con algo así como, por ejemplo : delete from library.file where campoclave=(select campoclave from Libray.File where campo = 'SNHO' fetch first 1 rows only) O si no tiene un único campo clave, por el número de registro, El 30/07/2010 0:56, Pedro Molina escribió: Hola Foro. Como veo que versión de DB2 tengo en el iSeries? para el caso tengo uno con V5R2. El asunto es que quiero hacer un delete utilizando un subconsulta para borrar un determinado numero de registros asi: delete from Library.File where(select * from Libray.File where campo = 'SNHO' fetch first 1 rows only) El asunto es que me dá un error de que la clausula fetch es inválida, per en un manual de DB2 UDB para SAP hay un ejemplo de un delete parecido al que muestro arriba. Alguna sugerencia? es asunto de versión de la DB2?...help... ____________________________________________________ Únete a Recursos AS400, nuestra Comunidad ( http://bit.ly/db68dd ) Forum.Help400 © Publicaciones Help400, S.L. -- Jesús Busquets GRESPANIA, S.A. Este mensaje se dirige exclusivamente a su destinatario y puede contener información privilegiada o confidencial. Si no es Vd. el destinatario indicado, queda notificado de que la utilización, divulgación y/o copia sin autorización está prohibida en virtud de la legislación vigente. Si ha recibido este mensaje por error, le rogamos que nos lo comunique inmediatamente por esta misma vía y proceda a su destrucción. ____________________________________________________ �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.

