Trigger para atualizar estoque de locadora
Bom, sou novo nesse ramo de Banco de Dados, e como curioso, estou tentando aprender, sempre buscando aqui nesse fórum que por sinal é muito bom.
O problema é o seguinte: Tenho quatro tabelas criadas, tenho a tabela de Clientes, tenho a tabela de Filmes, tenho a tabela de Aluguel (aqui faço a relação de cliente com o filme), e tenho a tabela de Estoque.
A Trigger que eu gostaria de criar deve fazer o seguinte:
Após inserir na tabela aluguel (tabela aluguel vem com os atributos: cliente_id, filme_id, e data_aluguel), ele deverá comparar o filme_id presente na tabela aluguel com o filme_id presente na tabela de estoque e então atualizar, caso for igual, atualizar a quantidade da tabela de estoque (tabela estoque vem com os atributos estoque_id, filme_id, estoque_quantidade) deve atualizar subtraindo um da quantidade atual. Entretanto, estou fazendo este Trigger e ao atualizar na tabela de aluguel ele me imprime um erro:
"Unknown table 'aluguel' in field list". Segue abaixo o Trigger que fiz e não deu certo.
DELIMITER //
CREATE TRIGGER trg_saida_filmes_ai AFTER INSERT ON aluguel
FOR EACH ROW
BEGIN
IF (aluguel.filme_id = estoque.filme_id) THEN
UPDATE estoque INNER JOIN aluguel on estoque.filme_id = aluguel.filme_id
SET new.estoque.estoque_quantidade = estoque.estoque_quantidade - 1
WHERE aluguel.filme_id = estoque.filme_id;
END IF;
END //
DELIMITER //
Peço a compreensão de todos, pois apenas estou tentando aprimorar meus conhecimentos. Agradeço desde já.
O problema é o seguinte: Tenho quatro tabelas criadas, tenho a tabela de Clientes, tenho a tabela de Filmes, tenho a tabela de Aluguel (aqui faço a relação de cliente com o filme), e tenho a tabela de Estoque.
A Trigger que eu gostaria de criar deve fazer o seguinte:
Após inserir na tabela aluguel (tabela aluguel vem com os atributos: cliente_id, filme_id, e data_aluguel), ele deverá comparar o filme_id presente na tabela aluguel com o filme_id presente na tabela de estoque e então atualizar, caso for igual, atualizar a quantidade da tabela de estoque (tabela estoque vem com os atributos estoque_id, filme_id, estoque_quantidade) deve atualizar subtraindo um da quantidade atual. Entretanto, estou fazendo este Trigger e ao atualizar na tabela de aluguel ele me imprime um erro:
"Unknown table 'aluguel' in field list". Segue abaixo o Trigger que fiz e não deu certo.
DELIMITER //
CREATE TRIGGER trg_saida_filmes_ai AFTER INSERT ON aluguel
FOR EACH ROW
BEGIN
IF (aluguel.filme_id = estoque.filme_id) THEN
UPDATE estoque INNER JOIN aluguel on estoque.filme_id = aluguel.filme_id
SET new.estoque.estoque_quantidade = estoque.estoque_quantidade - 1
WHERE aluguel.filme_id = estoque.filme_id;
END IF;
END //
DELIMITER //
Peço a compreensão de todos, pois apenas estou tentando aprimorar meus conhecimentos. Agradeço desde já.
Dark Magician
Curtidas 0