Stored Procedure, Retorna varaias linhas de Um Select

Firebird

17/12/2003

Ola, Pessoal
Eu tenho a seguinte Procedure:

Set term^
ALTER PROCEDURE PROC_SELECT
RETURNS
(
VARNOME CHAR(60)
)
AS
BEGIN
FOR
SELECT PSS_NM FROM PESSOA INTO :VARNOME
DO
SUSPEND;
END^

Quando eu executa, só retorna uma única linha. Neta tabela eu tenho 10 registros. O que eu estou fazendo de errado.. Por Favor!!


Jfcarlos

Jfcarlos

Curtidas 0

Respostas

Afarias

Afarias

17/12/2003

|Quando eu executa, só retorna uma única linha {...}

Executa??

vc deve selecionar, assim::

select * from PROC_SELECT


é isso??

T+


GOSTEI 0
Jfcarlos

Jfcarlos

17/12/2003

Cara, é isso mesmo. Explica uma coisa, quando eu uso EXECUTE PROCEDURE {NOME DA PROCEDURE}, não deveria funcionar a mesma coisa. Tem como eu linkar uma procedure deste tipo com um dbgrid.

Muito Obrigado, pela colaboração. Colega


GOSTEI 0
Afarias

Afarias

17/12/2003

No IB existem 2 tipos de procedimentos::

os ´executáveis´ , que retornam apenas parâmetros (ou poderia dizer: 1 registro sempre) e são chamados na forma::

execute procedure {...}


e os ´selecionáveis´ (SUSPEND), que podem ser usados como se fossem tabelas ou views::

select * from {...}


|Tem como eu linkar uma procedure deste tipo com um dbgrid.

os ´selecionáveis´ SIM. Vc pode usá-los normalmente como fora uma tabela ou view.


T+


GOSTEI 0
Jfcarlos

Jfcarlos

17/12/2003

Valeu, pela dica fico muito grato


GOSTEI 0
POSTAR