GUJ Discussões   :   últimos tópicos   |   categorias   |   GUJ Respostas

Trigger para baixa de stock Mysql

mysql
java
Tags: #<Tag:0x00007fb39db6d868> #<Tag:0x00007fb39db6d728>

#1

Boas colegas estou com um problema, estou a tentar criar um trigger para diminuir a quantidade existente de um determinado produto sempre que houver uma requisição para aquele produto. Ou seja, a quantidade do produto da tabela produto irá diminuir sempre que se fizer uma requisição. Tentei correr um código mas não deu certo. Abaixo deixo os códigos das duas tabelas e do código mysql para puderem-me ajudar.

codigo mysql
CREATE TRIGGER baixaEstoque AFTER INSERT ON requisicao FOR EACH ROW
update producto set quantidade = quantidade - new.quantidade where idproducto = new.idproducto;

tabela producto
| producto | CREATE TABLE producto (
idProducto int(11) NOT NULL AUTO_INCREMENT,
artigo varchar(4) NOT NULL,
data datetime NOT NULL,
tipoProducto varchar(50) NOT NULL,
descricao mediumtext NOT NULL,
quantidade int(10) unsigned DEFAULT NULL,
validade varchar(20) DEFAULT NULL,
PRIMARY KEY (idProducto),
UNIQUE KEY artigo (artigo),
UNIQUE KEY artigo_2 (artigo)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 |

tabela requisicao
idRequisicao int(11) NOT NULL AUTO_INCREMENT,
idDepartamento int(4) NOT NULL,
idfuncionario int(11) NOT NULL,
idProducto int(11) NOT NULL,
data datetime NOT NULL,
quantidade int(11) NOT NULL,
PRIMARY KEY (idRequisicao),
KEY idDepartamento (idDepartamento),
KEY idFuncionario (idfuncionario),
KEY idProducto (idProducto),
CONSTRAINT requisicao_ibfk_1 FOREIGN KEY (idDepartamento) REFERENCES departamento (iddepartamento),
CONSTRAINT requisicao_ibfk_2 FOREIGN KEY (idfuncionario) REFERENCES funcionario (idfuncionario),
CONSTRAINT requisicao_ibfk_3 FOREIGN KEY (idProducto) REFERENCES producto (idproducto)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 |