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

Responder a