[firebase-br] Stored Procedure Dinamica

Claudio.sj@sercon.com.br claudio.sj em sercon.com.br
Qua Ago 20 09:32:38 -03 2008


Acontece o seguinte
a matriz tem a tabela tb_fatmvf
a filial 01  tem a tabela e00001_tb_fatmvf
a filial 02  tem a tabela e00002_tb_fatmvf
a filial 03  tem a tabela e00003_tb_fatmvf

e assim por diante, só que tem empresas que só tem uma filial, ha outras que
é só a matriz.
por isso tem que ser uma SP dinamica.



----- Original Message ----- 
From: "Valdir Marcos" <valdir.marcos em ig.com.br>
To: "FireBase" <lista em firebase.com.br>
Sent: Tuesday, August 19, 2008 6:36 PM
Subject: Re: [firebase-br] Stored Procedure Dinamica


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
>

______________________________________________
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