Trigger that calculates the resale value of the product has no expected effect in table

Asked

Viewed 52 times

0

I created a Mysql Rigger that calculates the price of a garment with the calculation of 50% profit on the purchase value of the product. Only nothing appears in the place where I wanted the calculation to happen.

  • On the table itens_compra_fornecedor the product is registered and in the field valor_compra is the purchase value of the product by the supplier.
  • Already the table produto receives the key from the table itens_compra_fornecedor where the column valor_revenda shall calculate the resale of the product registered in the table itens_compra_fornecedor.

I wanted to do this resale calculation every time a product is inserted or when the purchase value of the table itens_compra_fornecedor be updated. There is how to do it at the same time on a Trigger or need to do it on separate Trigger?

The tables are

inserir a descrição da imagem aqui

-- A trigger é essa (ela tem que ser disparada quando houver uma inserção ou atualização do valor_compra do produto)
DELIMITER $
CREATE TRIGGER itens_compra_fornecedor_AFTER_INSERT
AFTER INSERT ON itens_compra_fornecedor
FOR EACH ROW
BEGIN
    -- Cálcula o valor de revenda do produto na coluna valor_revenda da tabela produto
    UPDATE produto SET valor_revenda = ((NEW.valor_compra * 0.50) + NEW.valor_compra) 
    WHERE cd_produto = NEW.cd_itens_compra_fornecedor;
END $
DELIMITER ;
  • "Product" has a column cd_itens_compra_vendor this would not be the field for the "Join" ?

  • @Motta the Rigger is created, but does not fire.

  • WHERE cd_produto = NEW.cd_produto; would solve?

  • Has cd_product in itens_compra_supplier table !?

No answers

Browser other questions tagged

You are not signed in. Login or sign up in order to post.