Boa noite preciso criar uma trigger que atualize 2 campos de minha tabela de produtos comprados de um vendedor.
Tenho a tabela
DROP TABLE IF EXISTS `prodvdedor`;
CREATE TABLE prodvdedor (
codPrdvdor int(10) NOT NULL AUTO_INCREMENT,
codVendedor int(11) NOT NULL,
codTecido int(11) NOT NULL,
codCor int(11) NOT NULL,
medida decimal(10,2) DEFAULT NULL,
stockMedidas decimal(10,2) DEFAULT NULL,
peso decimal(10,4) DEFAULT NULL,
stockPeso decimal(10,4) DEFAULT NULL,
dataCompra date NOT NULL,
valor decimal(10,2) NOT NULL,
PRIMARY KEY (codPrdvdor),
KEY PK_prodvdedor_vendededor_idx (codVendedor),
KEY Pk_prodvdedor_tecidos_idx (codTecido),
KEY Pk_prodvdedor_cores_idx (codCor),
CONSTRAINT Pk_prodvdedor_cores FOREIGN KEY (codCor) REFERENCES cores (codCor) ON DELETE CASCADE ON UPDATE CASCADE,
CONSTRAINT Pk_prodvdedor_tecidos FOREIGN KEY (codTecido) REFERENCES tecidos (codTecido) ON DELETE CASCADE ON UPDATE CASCADE,
CONSTRAINT PK_prodvdedor_vendedores FOREIGN KEY (codVendedor) REFERENCES vendedores (codVendedor) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB AUTO_INCREMENT=12 DEFAULT CHARSET=utf8;
Quando compro em metros ele atualiza stockMedidas, se for em peso atualiza stockPeso
BEGIN
SET @stockAntigo = (SELECT stockMedidas FROM vendedores, cores, tecidos WHERE codVendedor=new.codVendedor and codTecido=new.codTecido and codCor=new.codCor);
if (medidas = 0
UPDATE prodvdedor
SET stockPeso=@stockAntigo+new.peso WHERE codVendedor=new.codVendedor and codTecido=new.codTecido and codCor=new.codCor;
else
UPDATE prodvdedor
SET stockMedidas=@stockAntigo+new.medidas WHERE codVendedor=new.codVendedor and codTecido=new.codTecido and codCor=new.codCor;
)endif;
END;