[firebase-br] Stored Procedure Dinamica

Valdir Marcos valdir.marcos em ig.com.br
Ter Ago 19 18:36:22 -03 2008


Tente fazer testes diretamente sua ferramenta de administração do
Firebird, como por exemplo:

Select * From Soma_MVF('Vendas', 123, 'A');

Em relação ao comando acima, como seria o select que você está tentando rodar?

Um abraço,

Valdir


2008/8/19, Claudio.sj em sercon.com.br <claudio.sj em sercon.com.br>:
> Ola pessoal da lista
> Eu nao costumo postar duvidas, mais venho acompanhando com frequencia a lista.
> Só que desta vez tenho um problema a ser resolvido e ainda nao consegui sair do outro lado, acontece que preciso executar uma Stored Procedure dinamica, ou seja quero passar pra SP o nome da "tabela", o codigo do "cliente", o status do movimento e ele devera me retornar uma soma de alguns valores.
>
> Nao sei se consegui expressar corretamente a minha duvida, mais estou postando a minha SP ..
>
> Agradeço a todos que poderem colaborar.
>
> vejam abaixo
> recebo 3 parametros
> tabela -> tabela a ser executada a select da soma dos campos
> codigotra -> codigo do cliente para selecao
> tiposts -> Status do movimento
>
> e devera me retornar o RESULTADO
>
> SET TERM ^ ;
>
> CREATE PROCEDURE SOMA_MVF (
>    tabela varchar(50),
>    codigotra varchar(50),
>    tiposts char(1))
> returns (
>    resultado numeric(18,2))
> as
> begin
>    execute STATEMENT 'SELECT SUM(MVFVME - MVFVSE) FROM ' || tabela || ' WHERE MVFSTS <> ' || TIPOSTS || 'AND MVFCCL = ' || CODIGOTRA  INTO :RESULTADO;
>    if(RESULTADO IS NULL ) THEN RESULTADO = 0;
>    SUSPEND;
> end^
>
> SET TERM ; ^
>
> a SP da o seguinte erro dizendo que a coluna MVFCCL nao existe na tabela;
> Invalid token.
> Dynamic SQL Error.
> SQL error code = -104.
> Token unknown - line 1, char 62.
> MVFCCL.
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> Para saber como gerenciar/excluir seu cadastro na lista, use: http://www.firebase.com.br/fb/artigo.php?id=1107
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>




Mais detalhes sobre a lista de discussão lista