UPDATES DIVERSOS NA MESMA COLUNA PARA DIFERENTE ID´S
06/11/2019
0
estou com dificuldades em montar a seguinte query como descrito no título acima:
UPDATE estoque set qt = qt - ('3','4','5') where id_produto IN ('2','3','4')
o objetivo é criar um UPDATE dinâmico, onde cada valor estará subtraindo o valor atual do estoque (representa um baixa no estoque do determinado produto) ou seja... atualizar o valor da coluna qt de seus respectivos ids.
id qt depois do uptade
2 20-3 17
3 15-4 11
4 10-5 5
colegas, não encontro maneiras para resolver esta questão. Desde já sou grato pela ajuda e orientação que sempre foi dada.
Leonardo
Posts
06/11/2019
Manoel Junior
06/11/2019
Emerson Nascimento
UPDATE estoque set qt = qt - (case id_produto when 2 then 3 when 3 then 4 else 5 end) where id_produto IN (2,3,4)
mas não entendi o porque de ser numa única instrução.
06/11/2019
Leonardo
UPDATE estoque set qt = qt - (case id_produto when 2 then 3 when 3 then 4 else 5 end) where id_produto IN (2,3,4)
mas não entendi o porque de ser numa única instrução.
Prezado, como utilizaria esta query junto com o php? pode me dar um exemplo?
UPDATE estoque set qt = qt - ($quantidade) where id_produto IN ('$id_produto').
reumindo preciso realizar um update para varios IDS se necessario, pois trata -se de vendas de produtos e cada venda preciso dar baixa no meu estoque de maneira automatica. acredito que agora consegui explicar melhor para você.
06/11/2019
Leonardo
Prezado, boa noite.
pode me dar um exemplo?
UPDATE estoque set qt = qt - ($quantidade) where id_produto IN ('$id_produto').
reumindo preciso realizar um update para varios IDS se necessario, pois trata -se de vendas de produtos e cada venda preciso dar baixa no meu estoque de maneira automatica. acredito que agora consegui explicar melhor para você.
07/11/2019
Manoel Junior
Prezado, boa noite.
pode me dar um exemplo?
UPDATE estoque set qt = qt - ($quantidade) where id_produto IN ('$id_produto').
reumindo preciso realizar um update para varios IDS se necessario, pois trata -se de vendas de produtos e cada venda preciso dar baixa no meu estoque de maneira automatica. acredito que agora consegui explicar melhor para você.
Este link mostra como utilizar um array, que serve para armazenar os id's, no while. No caso, a quantidade também pode ser utilizada como um array. Refiro-me numa definição simbólica, pois cumpre a mesma objetivo:
https://stackoverflow.com/questions/12176709/how-can-i-simulate-an-array-variable-in-mysql
07/11/2019
Emerson Nascimento
UPDATE estoque set qt = qt - ($quantidade) where id_produto IN ('$id_produto').
reumindo preciso realizar um update para varios IDS se necessario, pois trata -se de vendas de produtos e cada venda preciso dar baixa no meu estoque de maneira automatica. acredito que agora consegui explicar melhor para você.
se você está fazendo uma venda ela precisa de um identificador, e o estoque só pode ser baixado se a venda for confirmada.
neste caso, crie uma stored procedure (você também pode fazer a partir de triggers) para atualizar o estoque a partir de uma compra e/ou venda. assim a stored procedure se encarrega de atualizar o estoque e a regra de negócio fica no banco de dados, o que pra mim é mais seguro e mais fácil de manipular, caso seja necessário implementar/corrigir.
Clique aqui para fazer login e interagir na Comunidade :)