Fórum Pegar o dados do registro anterior para comparar com o registro atual #535685
27/10/2015
0
Firebird 2.5
tenho a seguinte os seguinte campos:
[img]http://arquivo.devmedia.com.br/forum/imagem/267272-20151027-090959.jpg[/img]
estoq_id,
prod_id,
estoq_anterior,
estoq_entrada,
estoq_saida,
estoq_atual
preciso fazer um select ou procedure para percorrer esses registro e analisar se o estoq_atual do registro anterior é igual com o estoq_atual do registro em foco, pois a tabela estoque ele pega o estoque estoq_atual do registro antigo para poder realizar o próximo movimento, ex:
Sidney Abreu
Curtir tópico
+ 0Posts
27/10/2015
Marcos P
A ideia é simples : crie uma query que selecione todos os registros que você precisa ( devidamente ordenados ) e declare o cursor com ela. Depois, através de um loop, varra sequencialmente esses registros e implemente a lógica que você precisa.
Segue a sintaxe básica de criação de um cursor no firebird : Criando Cursor no Firebird.
Com uma pesquisa se 5 minutos no Google você acha muitos outros exemplos.
Ok ?!?
Gostei + 0
27/10/2015
Sidney Abreu
Gostei + 0
27/10/2015
Marcos P
Gostei + 0
27/10/2015
Sidney Abreu
Gostei + 0
27/10/2015
Marcos P
Então, fica difícil de opinar !
A única dica que darei a você, apenas como um parâmetro para sua análise, é a de considerar a evolução do tamanho dessa tabela de movimentação ao longo do tempo.
Quantas operações diárias são realizadas atualmente ?
Quais as perspectivas de evolução do número de operações diárias ?
Qual o tamanho estimado para essa tabela no decorrer do tempo ?
Qual a necessidade de armazenar essas informações ao longo do tempo ?
Existem requisitos legais a serem atendidos que justifiquem armazenar esses dados por determinado tempo ou sua necessidade é "apenas" funcional ?
Qual a estratégia ( ou estratégias ) de movimentação desses registros a medida que o tempo for passando ?
Tudo sempre parece simples no começo, mas, avaliando as coisas em detalhes... surgem as questões relevantes !
Gostei + 0
27/10/2015
Sidney Abreu
R= 200 em média
Quais as perspectivas de evolução do número de operações diárias ?
R= 50%
Qual o tamanho estimado para essa tabela no decorrer do tempo ?
R= cerca de 500.000,00 registros
Qual a necessidade de armazenar essas informações ao longo do tempo ?
R= auditoria do estoque
Existem requisitos legais a serem atendidos que justifiquem armazenar esses dados por determinado tempo ou sua necessidade é "apenas" funcional ?
R= sim, não se é apenas funcional. Mas uma forma de ter o registro para comparar os dados
Qual a estratégia ( ou estratégias ) de movimentação desses registros a medida que o tempo for passando ?
Não pensei nisso
Gostei + 0
27/10/2015
Marcos P
O volume de dados e a evolução dos mesmos ( embora você não definido em quanto tempo isso será alcançado ), não parece nada muito crítico !
Fique atento, também, a arquitetura de chaves e índices dessas tabelas, bem como a performance do Firebird quanto a concorrência de acesso a esses dados.
Não tenha muitas expectativas no sentido de que existe uma solução "ideal" para as coisas... a melhor solução é sempre aquela que você consegue entender, explicar e aplicar !
Boa sorte !
Gostei + 0
27/10/2015
Sidney Abreu
Gostei + 0
27/10/2015
Marcos P
Banco de dados...
Modelagem de negócios...
Requisitos legais...
Programação...
Enfim... tudo !
Não se preocupe.. se você tem essa preocupação de melhorar, a prática vai lhe indicar o caminho !
Gostei + 0
27/10/2015
Sidney Abreu
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)