Stored Procedure - FireBird

Alguém sabe como eu chamo um Stored Procedure no FireBird.

aparentemente eh so dar sc_exec_sql(“Select * from MySP”) … se o resultado da execução vai retornar algum recordset, seria necessário utilizar sc_lookup, mas teria que testar pois usamos adodb por tras e precisaria chegar se o ADODB esta lidando com procedure em firebird, se não, seria preciso implementar.

Diogo

E como fica no Mysql.

se nao me engano no mysql novo vc precisa primeiro chamar e depois dar um select no resultado …
ex:
sc_exec_sql(“CALL teste(@parametro1)”);
sc_lookup(“SELECT @parametro1”);

se nao me engano … so testando.

se tu me passar uma estrutura bem simples a gente pode testar. testa ai primeiro.

Mas funciona consulta em SP no MYSQL com SC?

Não funciona.
os procedimento descritos pelo Diogo são para chamada manual.

Diogo / Harold

Está dando esse erro:

ERRO 
Erro ao acessar o banco de dados
PROCEDURE guias_bigps_dbo.prcGuiasPorIntervalo can't return a result set in the given context
call prcGuiasPorIntervalo(13 ,0 ,'2010-09-01','2010-09-01 07:00','2010-09-01 19:00',30 ) 

sim, acredito que perguntaram como roda stored procedure, nao pra criar aplicação.
É para chamada manual.

Tem alguma maneira de criar aplicação com SP?

no mysql acredito que nao, vai ser mais rapido voce tentar buscar uma resposta de implementação da funcionalidade junto ao suporte.

Estou tentando crirar uma stored procedure firebird que retorne saldos das contas do banco de dados.
fiz da seguinte maneira. Mas não calcula os saldos de cada conta. Somente saldo geral como se não tivesse outra conta.
Queria que quando a conta fosse diferente o saldo começasse do zero novamente e assim todas as vezes que a conta mudasse de nome.
segue o codigo que estou tentando:

CREATE PROCEDURE LIVRO_CAIXA2
returns (
idcaixa integer,
datacaixa date,
historico varchar(70),
conta varchar(18),
entrada decimal(15,2),
saida decimal(15,2),
saldo decimal(15,2),
controle varchar(10))
as
declare variable saldoatual decimal(15,2);
begin
saldoatual = 0;

for select c.conte, c.codc, c.datalanc, c.historico, c.credito, c.debito, c.dc
from caixa c order by C.conte, C.datalanc
into
:conta,
:idcaixa,
:datacaixa,
:historico,
:entrada,
:saida,
:controle

do
begin

   saldo = saldoatual + :entrada - :saida;
   saldoatual = :saldo;


   suspend;

end
end