PDA

Ver la Versión Completa : Execute Procedure


mightydragonlor
03-11-2011, 21:50:05
Tengo un procedimiento almacenado llamado TBLTIPOLIMP_SEL, el SP funciona perfectamente y si hago un SELECT * FROM TBLTIPOLIMP_SEL me devuelve todos los registros correctamente, pero si hago un EXECUTE PROCEDURE TBLTIPOLIMP_SEL solo devuelve un registro, hay alguna forma que EXECUTE PROCEDURE devuelva mas de un registro?

Lepe
04-11-2011, 10:58:42
Sí, pero tenemos que ver el codigo del SP.

A grandes rasgos, usa un

for select blah blah into variables
do suspend;

por cada "Suspend" devuelve los parámetros de salida, es decir, un registo por cada iteración del bucle.

mightydragonlor
04-11-2011, 14:08:16
Hola Lepe, gracias por responder, el sp funciona correctamente, el problema es el EXECUTE PROCEDURE, que solo me devuelve un registro, si hago un select * from miSP devuelve todos los registros, esto es lo que no quiero, hacer un select a un SP sino mas bien usar la cláusula EXECUTE PROCEDURE.

Toni
04-11-2011, 14:23:27
Hola,


Hola Lepe, gracias por responder, el sp funciona correctamente, el problema es el EXECUTE PROCEDURE, que solo me devuelve un registro, si hago un select * from miSP devuelve todos los registros, esto es lo que no quiero, hacer un select a un SP sino mas bien usar la cláusula EXECUTE PROCEDURE.


Pues va a ser que no, en Firebird los procedimientos que tienen que devolver mas de un registro se tienen que llamar mediante un 'select' y efectivamente si los llamas mediante el 'execute procedure' solo te devolvera la primera fila. Es como funciona Firebird.