[firebase-br] Procedure para caixa

everton.patricio01 everton.patricio01 em uol.com.br
Ter Ago 18 18:51:27 -03 2009


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.
 




Mais detalhes sobre a lista de discussão lista