[firebase-br] Duvida sobre Execute Statement
Sandro Souza
escovadordebits em gmail.com
Qua Fev 13 22:28:07 -03 2013
Bom dia/tarde Luciano.
Meu nobre, posso até estar enganado, mas acredito que o comando "execute
statment" não vai funcionar dessa forma, ou seja, não é como a função
"eval" do javascript ou do antigo clipper.
Porque não tenta outra abordagem, como essa aqui:
create or alter procedure CUSTOFINAL (
OP integer,
CUSTO "Valores",
ENCARGOS "Valores"
) returns (
RESULTADO "Valores"
) as
declare variable VCUSTO "Valores";
declare variable CUSTOINTERNO "Valores";
declare variable VENCARGOS "Valores";
begin
vCusto = Custo;
vEncargos = Encargos;
if (Op = 0) Then
Begin
CustoInterno = vCusto;
vEncargos = (CustoInterno * vCusto) / 100;
Resultado = vCusto + vEncargos;
End
suspend;
end
Mesmo assim, analisando essa stored procedure, vemos a seguinte lógica:
Se OP = 0, o resultado é "custo + (custo * custo) / 100".
Se OP <> 0, o resultado é indefinido.
É isso mesmo o que deveria ser implementado?
No que eu puder ajudar, conte comigo.
Só precisa definir exatamente a fórmula que você deseja implementar.
Espero ter ajudado mais que atrapalhado.
No dia 13 de Fev de 2013 15:03, "Luciano franca" <luapfirebird em yahoo.com.br>
escreveu:
> Gostaria de entender melhor pois esse codigo abaixo não funciona como
> deve proceder
> Essa procedure faz parte de uma procedure maior porém coloquei apenas uma
> parte dela
>
> create or alter procedure CUSTOFINAL (
> OP integer,
> CUSTO "Valores",
> ENCARGOS "Valores")
> returns (
> RESULTADO "Valores")
> as
> declare variable VCUSTO "Valores";
> declare variable CUSTOINTERNO "Valores";
> declare variable VENCARGOS "Valores";
> declare variable STRDESPESAS varchar(100);
> begin
> vCusto = Custo;
> vEncargos = Encargos;
> StrDespesas = ' vEncargos = (CustoInterno * vCusto) / 100; ';
>
> if (Op = 0) Then Begin
> CustoInterno = vCusto;
> Execute Statement StrDespesas;
> Resultado = vCusto + vEncargos;
> End
>
> suspend;
> end
> ______________________________________________
> 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