Hola:
Haz probado concatenar la varible de la biblioteca a la cadena de texto SQL,
luego preparas, declaras y abres el cursor.
BEGIN
DECLARE SQLStmt CHAR(512);
SET SQLStmt='SELECT col1 , col2 , COUNT ( * ) AS TOTAL' +
' FROM ' + W_BIBLIO + '.Tabla1' +
' WHERE FECHA = ? And ESTAB = ?' +
' GROUP BY col1 , col2' +
' ORDER BY col1 , col2' ;
PREPARE s1 FROM SQLStmt;
DECLARE CURSOR1 DYNAMIC SCROLL CURSOR FOR s1;
OPEN CURSOR1 USING W_BIBLIO, W_FECHA, W_ESTABL;
SET RESULT SETS CURSOR CURSOR1;
END ;
Saludos.
-----Mensaje original-----
De: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] nombre de Fernando
Martínez
Enviado el: Lunes, 21 de Mayo de 2007 11:38 a.m.
Para: Foro AS/400
Asunto: SQL Procedures
Hola a todos
Tengo un procedimiento almacenado que quiero que se use con distintas
bibliotecas. El problema es que la biblioteca se tiene que pasar por
variable y luego devolver un ResultSet de una consulta. Estaba haciendolo
así:
CREATE PROCEDURE QGPL.PROC1 (
IN W_ESTABL INTEGER ,
IN W_FECHA INTEGER ,
IN W_BIBLIO CHAR(10) )
DYNAMIC RESULT SETS 1
LANGUAGE SQL
MODIFIES SQL DATA
BEGIN
DECLARE SQLStmt CHAR(512);
DECLARE CURSOR1 DYNAMIC SCROLL CURSOR FOR s1;
SET SQLStmt='SELECT col1 , col2 , COUNT ( * ) AS TOTAL
FROM ?.Tabla1
WHERE FECHA = ? And ESTAB = ?
GROUP BY col1 , col2
ORDER BY col1 , col2' ;
PREPARE s1 FROM SQLStmt;
OPEN CURSOR1 USING W_BIBLIO, W_FECHA, W_ESTABL;
SET RESULT SETS CURSOR CURSOR1;
END ;
Pero me da error. ¿Alguien sabe como puedo solucionarlo?
Gracias y un saludo
Fernando
--
Este mensaje ha sido analizado por MailScanner
en busca de virus y otros contenidos peligrosos,
y se considera que está limpio.
MailScanner agradece a transtec Computers por su apoyo.
--
Este mensaje ha sido analizado por MailScanner
en busca de virus y otros contenidos peligrosos,
y se considera que está limpio.
For all your IT requirements visit: http://www.transtec.co.uk
__________________________________________________
Forum.HELP400 es un servicio más de NEWS/400.
© Publicaciones Help400, S.L. - Todos los derechos reservados
http://www.help400.es
_____________________________________________________
Para darte de baja visita la siguente URL:
http://listas.combios.es/mailman/listinfo/forum.help400