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.

Responder a