Ir para conteúdo
Fórum Script Brasil

Free Lancer

Membros
  • Total de itens

    3
  • Registro em

  • Última visita

Posts postados por Free Lancer

  1. Bom dia Free,

    Não entendi ao certo o que está precisando... mas vamos lá.

    Toda vez que é realizada uma inserção, o script é executado e a soma é refeita, ok? você queira outra forma de implementar isto? Se for, uma outra forma é armazenar sempre a ultima soma realizada. Assim não precisaria recontar o que já foi contado. Apenas pegar o valor somado e acrescentar o valor da nova inserção.

    O problema desta implementação é a certeza de que a soma está correta. O controle deverá ser bem implementado, para que não tenha informações errôneas.

    Fica a dica:

    - Em modelagem, não é uma boa prática você gravar dados que podem ser gerados a partir dos dados já existentes.

    Traduzindo (rs): se você tem vários valores, não é uma boa prática gravar a soma destes valores, pois eles podem ser calculados. Mas um ponto importante para que uma implementação desta seja aceita, seria a performance!! Pese no custo / benefício da implementação e depois avalie a melhor.

    Espero ter ajudado.

    Vamos lá Flávio..., agradeço antecipadamente pela atenção... vou tentar ser mais claro em relação ao problema

    é uma tabela que recebe debito ou sangria que é retirar algum valor, tudo funcionando perfeitamente, sql perfeita..., porém se eu faço um novo debito ou crédito em uma data antiga acontece que o banco tem que recalcular apartir da inserção da data todos os valores do saldo total...

    Algo como

    Data. | Tipo - Debito/Sangria | Valor | Saldo-Total:

    12/06/2012 D 10 10

    13/06/2012 S 7 3

    13/06/2012 D 20 23

    O que ocorre, imagina uma tabala com anos, 40.000 registros... quando eu coloca uma data de 1 anos para traz ele insere no lugar certo e vem calculando todos os saldos totais de todas as linhas até chegar na ultima.

    Todos os tratamentos estão certos, faz perfeitamente, o problema é que quando recalcula tudo isso fica 2 min parado e este é o problema que estou tentando evitar... alguma forma de arrumar a tabela de uma forma que não fique tão pesado.

    :( a questão é que sou programador Delhi e não domino assim o SQL para saber outra solução melhor

  2. Pessoal, estou com um pequeno problema.

    Estamos com um banco que ficou um tanto grande, mas sem problema até ai, a questão é que fazemos as somatorias usando o Sun e jogamos em um total, porém cada vez que colocamos mais uma inserção ele soma tudo novamente e dai recoloca o total.

    Queria saber se tem como evitar isso, alguma forma para que ele não precise novamente fazer a somatoria cada vez que for inserir.

    O código é retirado da aplicação, não é importante a perfeição do SQL, só estou querendo uma idéia de como implementar isso... a base do SQL usado esta abaixo

    select count(codsangria) as qtd,');

    sum(iif(DEBCRED=''C'', S.TOTCHEQUE, S.TOTCHEQUE*-1)) as totchq,');

    sum(iif(DEBCRED=''C'', S.TOTDINHEIRO, S.TOTDINHEIRO*-1)) as totdin');

    from Sangria S, Caixa C'

    Where S.CodLoja = C.CodLoja and Tipo <> ''PV''')

  3. Tenho ideia de como fazer parte ( digo todo o resto )...

    O problema é o seguinte:

    O usuário vai digitar um valor, o padrão é: 1.1.02.02 os numeros podem variar; Tenho que pegar este valor é comparar com o que esta na tabela para ver se existe.

    Até ai tudo normal, seria relativamente simples, o problema é que quando é preenchido na tabela que será consultada ele segue o padrão mais lá é gravado com mais informações ficando assim: 1.1.02.02.1990 ou 1.1.02.02R.

    No banco sempre vem acrescentando mais XXXX ( quatro numeros ou este R que pode vir também antes tipo 1.1.03R

    Minha dificuldade é como comparar o que recebo se lá na tabela quando cadastrada ele recebe o prefixo R ou os 4 outros números.

    Estou usando dataset (qPrincipal) e Oracle como banco, a tabela tem um campo ( exageradíssimo ) de VarChar(40).

    Se alguém tiver uma luz, agradeço.

×
×
  • Criar Novo...