Controle de Estoque Delphi Siscom trigger

Aqui você poderá postar qualquer dúvida em relação a todos os cursos em vídeo aulas oferecidos pelo T2Ti.

Controle de Estoque Delphi Siscom trigger

Mensagempor Daiana em Ter Jan 26, 2010 8:10 am

ola estou no modulo de controle de estoque
na hora de criar a trigger no firebird para d_NFE e D_Compra esta dando erro no after update

AS
begin
if (new.produto_codigo <> old.produto_codigo) then
begin
update produto
set ESTOQUEatual = (ESTOQUEatual - old.Quantidade)
where CODIGO = old.produto_codigo;

update produto
set ESTOQUEatual = (ESTOQUEatual + new.Quantidade)
where CODIGO = new.produto_codigo;
end
else
if (new.Quantidade <> old.Quantidade) then
begin
update produto
set ESTOQUE= (ESTOQUE - old.Quantidade),
ESTOQUE = (ESTOQUE + new.Quantidade)
where CODIGO = old.produto_codigo;
end
end

O erro e o seguinte:
Column does not belong to referenced table.
Dynamic SQL Error.
SQL error code = -206.
Column PRODUTO.ESTOQUE cannot be repeated in UPDATE statement.
At line 20, column 8.

Quem puder me ajudar eu agradeço
Daiana
 
Mensagens: 16
Data de registro: Ter Jan 26, 2010 8:06 am

Re: Controle de Estoque Delphi Siscom trigger

Mensagempor akio em Qui Fev 04, 2010 4:22 pm

oi Daiane,

acho q o erro está em
....
update produto
set ESTOQUE= (ESTOQUE - old.Quantidade),
ESTOQUE = (ESTOQUE + new.Quantidade)
where CODIGO = old.produto_codigo;
......

que deve ficar assim: update produto set estoque = (estoque - old.quantidade + new.quantidade) where.....

me responda a que tabela essa trigger está referenciando pois parece que existe outro erro "Column does not belong to referenced table."
o que respondi acima corresponde ao erro "Column PRODUTO.ESTOQUE cannot be repeated in UPDATE statement."

atte

Akio
akio
 
Mensagens: 2
Data de registro: Ter Set 22, 2009 10:32 pm


Retornar para Geral - Cursos T2Ti

Quem está online

Usuários vendo este fórum: Nenhum usuário registrado online e 1 visitante

cron