Fórum Ajuda em Trigger #368240
07/02/2009
0
Olá pessoal,
Estou com dificuldade na seguinte trigger:
Veja abaixo:
----------------------------------------------------------------------
set term!!;
create trigger trg_contasareceber_bi for contasareceber before insert as
begin
[color=blue:1c24e07ab5]/* Gera um novo código para o cliente (código anterior + 1) */[/color:1c24e07ab5]
new.codigo = gen_id(gen_contasareceber, 1);
[color=blue:1c24e07ab5]/* Grava o usuário que cadastrou a conta */[/color:1c24e07ab5]
new.usuario = user;
[color=blue:1c24e07ab5]/* Grava a data e hora do sistema no campo ´datainclusao´ da tabela de contasareceber */[/color:1c24e07ab5]
new.datainclusao = ´now´;
[color=blue:1c24e07ab5]/* Calcula o campo ´total´ da tabela de contasareceber (valor+juros+multa-desconto) */[/color:1c24e07ab5]
new.total = (new.valor + new.juros + new.multa - new.desconto);
[color=blue:1c24e07ab5]/* Atualiza o campo ´totalaberto´ da tabela cliente para o cliente que estou*/ /* cadastrando esta nova conta */[/color:1c24e07ab5]
execute procedure set_saldo_cliente(new.cliente, new.total);
[color=blue:1c24e07ab5]/* Se a data do pagamento for incluída diminui o valor recebido do campo ´totalaberto´ */
/* da tabela de cliente */[/color:1c24e07ab5]
If (new.datapagamento is not null) then
begin
execute procedure set_saldo_cliente(new.cliente, -new.recebido);
end
end!!
set term;!!
-------------------------------------------------------------------
É o seguinte:
O valor que está em verde, que é o campo recebido da tabela de contasareceber, quando eu coloco o sinal de ´[color=green:1c24e07ab5][b:1c24e07ab5]-[/b:1c24e07ab5][/color:1c24e07ab5]´ dá erro. Se eu tirar o sinal a trigger roda, só que não resolve o meu problema. Se eu colocar um valor negativo ela roda. Por exemplo: No lugar de
[color=green:1c24e07ab5]-new.recebido[/color:1c24e07ab5] se colocar
[color=green:1c24e07ab5]-100.00[/color:1c24e07ab5] a trigger roda.
Alguém pode me ajudar !?!
Wanderson Ramos
Buritizeiro
Minas Gerais
Brasil
Estou com dificuldade na seguinte trigger:
Veja abaixo:
----------------------------------------------------------------------
set term!!;
create trigger trg_contasareceber_bi for contasareceber before insert as
begin
[color=blue:1c24e07ab5]/* Gera um novo código para o cliente (código anterior + 1) */[/color:1c24e07ab5]
new.codigo = gen_id(gen_contasareceber, 1);
[color=blue:1c24e07ab5]/* Grava o usuário que cadastrou a conta */[/color:1c24e07ab5]
new.usuario = user;
[color=blue:1c24e07ab5]/* Grava a data e hora do sistema no campo ´datainclusao´ da tabela de contasareceber */[/color:1c24e07ab5]
new.datainclusao = ´now´;
[color=blue:1c24e07ab5]/* Calcula o campo ´total´ da tabela de contasareceber (valor+juros+multa-desconto) */[/color:1c24e07ab5]
new.total = (new.valor + new.juros + new.multa - new.desconto);
[color=blue:1c24e07ab5]/* Atualiza o campo ´totalaberto´ da tabela cliente para o cliente que estou*/ /* cadastrando esta nova conta */[/color:1c24e07ab5]
execute procedure set_saldo_cliente(new.cliente, new.total);
[color=blue:1c24e07ab5]/* Se a data do pagamento for incluída diminui o valor recebido do campo ´totalaberto´ */
/* da tabela de cliente */[/color:1c24e07ab5]
If (new.datapagamento is not null) then
begin
execute procedure set_saldo_cliente(new.cliente, -new.recebido);
end
end!!
set term;!!
-------------------------------------------------------------------
É o seguinte:
O valor que está em verde, que é o campo recebido da tabela de contasareceber, quando eu coloco o sinal de ´[color=green:1c24e07ab5][b:1c24e07ab5]-[/b:1c24e07ab5][/color:1c24e07ab5]´ dá erro. Se eu tirar o sinal a trigger roda, só que não resolve o meu problema. Se eu colocar um valor negativo ela roda. Por exemplo: No lugar de
[color=green:1c24e07ab5]-new.recebido[/color:1c24e07ab5] se colocar
[color=green:1c24e07ab5]-100.00[/color:1c24e07ab5] a trigger roda.
Alguém pode me ajudar !?!
Wanderson Ramos
Buritizeiro
Minas Gerais
Brasil
Wanderson Queiroz
Curtir tópico
+ 0
Responder
Posts
07/02/2009
Wanderson Queiroz
Pessoal, esquece tudo, a trigger está correta, era a minha ferramento de banco de dados que estava com problemas. Troquei o banco de dados e a ferramenta, e a trigger funcionou!
Obrigado, mesmo assim...
Wanderson Ramos Queiroz
Buritizeiro
Minas Gerais
Brasil
Obrigado, mesmo assim...
Wanderson Ramos Queiroz
Buritizeiro
Minas Gerais
Brasil
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)