Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Firebird e Interbase (https://www.clubdelphi.com/foros/forumdisplay.php?f=19)
-   -   Execute Procedure (https://www.clubdelphi.com/foros/showthread.php?t=76476)

mightydragonlor 03-11-2011 21:50:05

Execute Procedure
 
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,

Cita:

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.


La franja horaria es GMT +2. Ahora son las 12:35:04.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi