#796

Reserve estoque apenas se ele realmente estiver disponível

Um usuário adicionou um item ao carrinho — o backend precisa reservar três unidades no estoque, mas apenas se realmente houver estoque suficiente. Se você fizer «ler estoque → verificar → gravar» como instruções separadas, duas transações paralelas podem ver o mesmo número e ambas reservar a última unidade. Uma única atualização condicional resolve isso de forma atômica: tente aumentar reserved em três para o produto com id 1, mas apenas quando qty - reserved for pelo menos 3. Se nenhuma linha acabar atualizada — retorne «sem estoque» ao usuário.

Apenas INSERT/UPDATE/DELETE — não é preciso um SELECT no final.

Entre para enviar

O resultado da sua consulta aparecerá aqui