[firebase-br] Procedure para caixa

Paulo Sérgo Feix paulinhofeix em gmail.com
Qua Ago 19 08:39:27 -03 2009


Bom dia, não sei se eu entendi, mais vc que controlar o saldo de caixa, na
atualização?
Cada programador tem seu ponto de vista, eu não faço atualização na
inserção,  sopomos que vc temque anular um registro anterior, vc teria que
recalcular tudo de novo, não seria assim, eu prefiro fazer somente comsulta,
edai traser o resultado.
Espero que seja isto que vc esta se referendo.

2009/8/18 everton.patricio01 <everton.patricio01 em uol.com.br>

> Olá pessoal,
>
> Escreví uma procedure para uma tabela caixa da seguinte forma:
>
> --------------
>
> CREATE PROCEDURE INSERIR_LANCAMENTO (
>  DATA_LANCAMENTO DATE,
>  TIPO VARCHAR(7),
>  DESCRICAO VARCHAR(50),
>  NOMEUSUARIO VARCHAR(20),
>  DATA DATE,
>  HORA TIME,
>  VALOR DECIMAL(10,2),
>  SALDO DECIMAL(10,2)
> )
>
> AS
>
> BEGIN
>  INSERT INTO CAIXA (
>  CODCAIXA,
>  TIPO,
>  DESCRICAO,
>  NOMEUSUARIO,
>  DATA,
>  HORA,
>  VALOR,
>  SALDO
>  )
>
>  VALUES
>  (
>  GEN_ID(GERACODCAIXA,1),
>  :TIPO,
>  :DESCRICAO,
>  :NOMEUSUARIO,
>  :DATA,
>  :HORA,
>  :VALOR,
>  :SALDO
>  );
>
> END
>
> -------------
>
>
> A trigger que ativa a procedure está descrita a seguir:
>
> -------------
>
>
> SET TERM ^;
> CREATE TRIGGER NOVOLANCCAIXACONTASREC FOR CONTASRECEBER AFTER UPDATE AS
> BEGIN
>  IF (NEW.FECHADO = 'TRUE') THEN
>  EXECUTE PROCEDURE INSERIR_LANCAMENTO('ENTRADA','PAGAMENTO DE PARCELA',
> NEW.NOMEUSUARIO,
>  NEW.DATA, NEW.HORA, NEW.VALORTOTAL, 100);
> END ^
>
> -------------
>
> O meu problema é justamente o campo saldo pois, justamente como podem
> perceber, estou jogando um número fixo 100, mas o que eu gostaria é que
> minha trigger ou procedure identificasse o campo saldo do último registro
> para então atualizá-lo conforme o tipo (entrada ou saída).
>
> Muito obrigado a todos, Everton.
>
>
> ______________________________________________
> 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
>



-- 
Paulinho Sérgio Feix



Mais detalhes sobre a lista de discussão lista