D´Artagnan Dias escreveu:
> Dickson, isso até que eu contornei, eu tenho um conjunto de classes 
> aqui que faz um "Parser" das fórmulas e calcula elas corretamente.Mas 
> a parte em si de buscar os dados na base até entregar para a fórmula é 
> que não está nada bom(uma gambiarra dos infernos).Acho que eu acabei 
> colocando muitos selects aninhados e deu m... aqui.Será que uma 
> Procedure seria o melhor caso?
Ola D'Artagnan (e eu que pensei que meu nome era complicado ":D )

A estrategia que usei não foi a que mais gostei, mas foi a que tive 
tempo de implementar. Todas as formulas tinham um nome único, essa era a 
chave natural, porque ao fazer o parsing eu utilizava este nome para 
expandir a formula.

ex:
F1 = P1 * (F2 + 3,14)/FQA
F2 = (P1 + P2) * (CD*CC)
FQA = (CD/2)*1,342
CD = 2,324
CC = 2,716

P1, P2 ... P10 são parametros, F[a-zA-Z0-9]+ são nomes de formulas 
C[a-zA-Z0-9]+ são constantes que ele precisa buscar na tabela de parsing.

Com essa estrategia eu conseguia recursividade facilmente, utilizava os 
nomes das formulas como chave natural e conseguia pegar os valores, com 
tudo isso eu tinha uma função que fazia a compilação da formula e 
convertia os valores para uma notação polonesa.

Pode não ser o que voce esta tentando fazer, mas talvez te dê um caminho.

-- 
[]s
Dickson S. Guedes
Administrador de Banco de Dados
Projeto Colmeia -  Florianópolis, SC
(48) 3322-1185, ramal: 26

_______________________________________________
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Reply via email to