Angel Vicente
13-09-2010, 10:36:55
Hola a todos...
Estoy tratando de crear un procediemiento almacenado en firebird 2.1.3, con un cursor. Lo que quiero hacer es un cursor de una SELECT con varios campos de una tabla, y con campos con alias, para procesamientos posteriores (el contenido de estos campos no son calculos directos de los campos existentes). Para las primeras pruebas esto haciendo un procediemiento como el siguiente
DECLARE VARIABLE LISTA CURSOR FOR (
SELECT Historico.CAJA, HISTORICO.MAQUINA, 0 AS Calculo from historico where historico.fechahora BETWEEN '08/02/2010 00:00:00' AND '08/02/2010 23:59:59');
BEGIN
/* Procedure body */
SALIDA = 1;
OPEN Lista;
SUSPEND;
END
pero cuando lo ejecuto, no parece que se abra el cursor; SALIDA es una variable integer de retorno. Haciendo algo parecido en DB2, que es lo que mas conozco, obtengo el resultado de la SELECT del cursor.
La sentencia SELECT en cuestion devuelve registros, si la ejecuto directamente puedo ver los resultados.
¿Que es lo que hago mal?, o ¿que es lo que no estoy haciendo?
Saludos y gracias de antemano
Estoy tratando de crear un procediemiento almacenado en firebird 2.1.3, con un cursor. Lo que quiero hacer es un cursor de una SELECT con varios campos de una tabla, y con campos con alias, para procesamientos posteriores (el contenido de estos campos no son calculos directos de los campos existentes). Para las primeras pruebas esto haciendo un procediemiento como el siguiente
DECLARE VARIABLE LISTA CURSOR FOR (
SELECT Historico.CAJA, HISTORICO.MAQUINA, 0 AS Calculo from historico where historico.fechahora BETWEEN '08/02/2010 00:00:00' AND '08/02/2010 23:59:59');
BEGIN
/* Procedure body */
SALIDA = 1;
OPEN Lista;
SUSPEND;
END
pero cuando lo ejecuto, no parece que se abra el cursor; SALIDA es una variable integer de retorno. Haciendo algo parecido en DB2, que es lo que mas conozco, obtengo el resultado de la SELECT del cursor.
La sentencia SELECT en cuestion devuelve registros, si la ejecuto directamente puedo ver los resultados.
¿Que es lo que hago mal?, o ¿que es lo que no estoy haciendo?
Saludos y gracias de antemano