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.
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-
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!!