How to create a trigger that is executed whenever a product is deleted by performing the deletion action on all batches related to the deleted product.
Here's my SQL code:
create database provafinal;
use provafinal;
create table produto
(codProduto integer not null,
nomeProduto varchar(50) not null,
marca varchar(50) not null,
precoCusto decimal(15,2) not null,
precoVenda decimal(15,2) not null,
primary key (codProduto));
create table loteproduto
(codProduto integer not null,
codLote integer not null,
nuLote char(10) not null,
dtValidade date,
primary key (codProduto, codLote),
foreign key (codProduto) references produto(codProduto));
insert into produto (codProduto, nomeProduto, Marca, precoCusto, precoVenda)
values (1, 'Inseticida 500 ML', 'SBP',4,7);
insert into produto (codProduto, nomeProduto, Marca, precoCusto, precoVenda)
values (2, 'Pastilha refil', 'SBP', 2,4);
insert into produto (codProduto, nomeProduto, Marca, precoCusto, precoVenda)
values (3, 'Refrigerante guaraná', 'Pureza', 3,5);
insert into produto (codProduto, nomeProduto, Marca, precoCusto, precoVenda)
values (4, 'Refrigerante laranja', 'Pureza', 3,5);
insert into produto (codProduto, nomeProduto, Marca, precoCusto, precoVenda)
values (5, 'Amaciante amarelo', 'Downy', 6,9);
insert into produto (codProduto, nomeProduto, Marca, precoCusto, precoVenda)
values (6, 'Amaciante rosa', 'Downy', 4,5);
insert into produto (codProduto, nomeProduto, Marca, precoCusto, precoVenda)
values (7, 'Frango', 'Sadia', 5,10);
insert into produto (codProduto, nomeProduto, Marca, precoCusto, precoVenda)
values (8, 'Peru', 'Sadia', 5,10);
insert into loteproduto (codProduto, codLote, nuLote, dtValidade)
values (1, 1, '399A',null);
insert into loteproduto (codProduto, codLote, nuLote, dtValidade)
values (1, 2, '323A','2012-12-31');
insert into loteproduto (codProduto, codLote, nuLote, dtValidade)
values (2, 1, 'EF2A','2012-12-30');
insert into loteproduto (codProduto, codLote, nuLote, dtValidade)
values (7, 1, 'EF3A',null);