-- =====================================================
-- FUNÇÕES SQL PARA O SISTEMA LIBERI KIDS
-- =====================================================

-- Função para atualizar estoque após venda
CREATE OR REPLACE FUNCTION update_estoque_variacao(
    variacao_id UUID,
    quantidade_vendida INTEGER
)
RETURNS VOID AS $$
BEGIN
    UPDATE produto_variacoes 
    SET quantidade = GREATEST(0, quantidade - quantidade_vendida)
    WHERE id = variacao_id;
END;
$$ LANGUAGE plpgsql;
