GARANTIR DESCONTO

Fórum Como usar if em gatilho no MySQL #416469

09/05/2012

0

Olá pessoal!

Estou migrando do FireBird para o MySQL e estou tomando uma surra grande.
Estou criando um gatilho para atualizar a tabela estoque e a tabela lote.
Estou criando um gatilho na tabela de entradaItens01, e nesse gatilho (ENTITENS01_BI) quero fazer algo desse tipo:

IF (new.qtd_ate > 0) THEN
BEGIN
update estoque01 set estq_atual = estq_atual + new.qtd_ate where produto = old.produto;

if ((new.lote <> ) or (new.lote not is null)) and ((new.validade <> ) or (new.validade not is null)) then
begin
if (select estoque from lote01 where produto = old.produto and lote = new.lote) = null then

insert into lote01 (codigo, produto,lote,validade,estoque)
values (0, old.produto,new.lote,new.validade,new.qtd_ate)

else

update lote01 set validade = new.validade, estoque = ifnull(estoque,0) + new.qtd_ate
where produto = old.produto and lote = new.lote;
end
END
ELSE
BEGIN
mesmas funções, mas decrementando o valor na tabela estoque e lote
END


Vagner Almeida

Vagner Almeida

Responder

Posts

09/05/2012

Vagner Almeida

Olá pessoal!

Estou migrando do FireBird para o MySQL e estou tomando uma surra grande.
Estou criando um gatilho para atualizar a tabela estoque e a tabela lote.
Estou criando um gatilho na tabela de entradaItens01, e nesse gatilho (ENTITENS01_BI) quero fazer algo desse tipo:

IF (new.qtd_ate > 0) THEN
BEGIN
update estoque01 set estq_atual = estq_atual + new.qtd_ate where produto = old.produto;

if ((new.lote <> ) or (new.lote not is null)) and ((new.validade <> ) or (new.validade not is null)) then
begin

if (select estoque from lote01 where produto = old.produto and lote = new.lote) = null then

insert into lote01 (codigo, produto,lote,validade,estoque)
values (0, old.produto,new.lote,new.validade,new.qtd_ate)

else

update lote01 set validade = new.validade, estoque = ifnull(estoque,0) + new.qtd_ate
where produto = old.produto and lote = new.lote;

end
END
ELSE
BEGIN
mesmas funções, mas decrementando o valor na tabela estoque e lote
END


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar