Update Condição

Firebird

05/02/2004

Preciso colocar uma condição no update de uma trigger:
Se C.MOVESTOQUE que é uma campo da tabela USOCONSUMO for ´N´ atualizar apenas o CUSTO e não atualizar o ESTOQUE.
Teria como fazer esta condição dentro do update, em uma única instrução?
Se não qual a melhor maneira?

CREATE TRIGGER ´Estoq Ped Consumo INS´ FOR ENTRADAMATPRIMACONSUMO
ACTIVE AFTER INSERT POSITION 0
as
begin
update USOCONSUMO C
set C.ESTOQUE = C.ESTOQUE + NEW.QUANT,
C.CUSTO = NEW.CUSTO
where NEW.CODBARRA = C.CODIGO;
end


Lucianoko

Lucianoko

Curtidas 0

Respostas

Elbio

Elbio

05/02/2004

Se estiver usando FB 1.5 tente o seguinte:

update USOCONSUMO C
set C.ESTOQUE = C.ESTOQUE + (case C.MOVESTOQUE when ´N´ then 0 else NEW.QUANT end),
C.CUSTO = NEW.CUSTO
where NEW.CODBARRA = C.CODIGO;

Deve dar certo...

Elbio.


GOSTEI 0
Lucianoko

Lucianoko

05/02/2004

Caro colega,

Quando foi criar a trigger deu erro e o cursor parou no CASE.

Se tiver outra idéia.

t+


GOSTEI 0
POSTAR