[firebase-br] RES: Como consigo resolver
Jose Aparecido da Silva
joseasilva em bol.com.br
Seg Jan 18 23:26:42 -03 2010
Você está tentando alterar a tabela de venda novamente e isso irá provocar
erro.
Se entendi o que você quer, faz assim:
Mude a trigger para before.
CREATE trigger trg_somavenda_pbruto for venda
active before update position 0
AS
declare variable total numeric(15,4);
begin
select sum(totalliq)from itemvenda I
where I.codvenda = new.codvenda
into :total;
if(coalesce(total,0) > 0)then new.pbruto = total;
[ ]'s
Jose Aparecido da Silva
Fasystem
-----Mensagem original-----
De: lista-bounces em firebase.com.br [mailto:lista-bounces em firebase.com.br] Em
nome de Jose Luiz de Medeiros
Enviada em: segunda-feira, 18 de janeiro de 2010 22:27
Para: lista em firebase. com. br
Assunto: [firebase-br] Como consigo resolver
Colegas..
Tenho numa tabela de venda o campo PBRUTO, que preciso somar os itens
referentes a aquela venda. Tentei criar essa trigger mas não deu certo.
Consigo cria-la mas quando rodo me da um erro:
CREATE trigger trg_somavenda_pbruto for venda
active after update position 0
AS
declare variable total numeric(15,4);
begin
select sum(totalliq)from itemvenda I
where I.codvenda = old.codvenda
into :total;
if(:total is null)then
total = 0.00;
if(:total > 0)then
begin
update venda v set v.pbruto = :total
where
v.codvenda = old.codvenda;
end
end
Como sou novo em Firebird, alguém poderia me dizer se faço isso usando
trigger ou procedure, se for trigger me dizer onde eu errei?
Grato:
Jose Luiz
______________________________________________
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
Mais detalhes sobre a lista de discussão lista