[firebase-br] Ajuda com Trigger.
Rodrigo de Moura
rodrigo em datawin.com.br
Qua Nov 9 10:00:13 -03 2005
Bom dia Pessoal,
Tenho a seguinte situação: uma tabela com os campos val_titulo, val_pgto_titulo, val_saldo_titulo
e o seguinte procedimento:
val_titulo - val_pgto_titulo - val_saldo_titulo
lançamento do titulo(500) - 500 - 0 - 500
baixa 1 (200) - 500 - 200 - 300
baixa 2 (100) - 500 - 300 - 200
baixa 3 (200) - 500 - 500 - 0
Criei a seguinte trigger que segue abaixo:
SET TERM !! ;
CREATE TRIGGER "SALDO_TITULO" FOR "TAB_TITULO"
ACTIVE BEFORE INSERT OR UPDATE POSITION 0
AS
BEGIN
IF(INSERTING) THEN
BEGIN
UPDATE TAB_TITULO
SET VAL_SLD_TITULO = NEW.VAL_TITULO
WHERE COD_TITULO = NEW.COD_TITULO;
END
IF(UPDATING) THEN
BEGIN
UPDATE TAB_TITULO
SET VAL_SLD_TITULO = VAL_SLD_TITULO + (OLD.VAL_TITULO - NEW.VAL_PGT_TITULO)
WHERE COD_TITULO = NEW.COD_TITULO;
UPDATE TAB_TITULO
SET VAL_PGT_TITULO = VA_PGT_TITULO + NEW.VAL_PGT_TITULO
WHERE COD_TITULO = NEW.COD_TITULO;
END
END !!
SET TERM ; !!
Quando faço um insert beleza tudo tranquilo, mas quando faço uma atualização (uma baixa)
dá o seguinte erro: "Too many concurrent executions of the same request".
Onde estou errando? Utilizo Firebird 1.5.2.
Qualquer ajuda será bem vinda!!
Atenciosamente,
Rodrigo de Moura
Mais detalhes sobre a lista de discussão lista