Uma empresa que administra frota de veículos passou a utilizar o MySQL 8 para registrar alterações em seus cadastros. A equipe de desenvolvimento definiu que toda atualização de dados na tabela veiculo deve gerar um registro em uma tabela de auditoria, permitindo rastrear modificações realizadas por usuários do sistema.
A modelagem simplificada para esse controle está organizada da seguinte forma:
Tabela veiculo --------------------------------------------------- id_veiculo INT PK placa VARCHAR(10) status VARCHAR(20) data_atualizacao DATETIME Tabela auditoria_veiculo --------------------------------------------------- id_auditoria INT PK AUTO_INCREMENT id_veiculo INT placa_anterior VARCHAR(10) placa_nova VARCHAR(10) usuario VARCHAR(100) data_evento DATETIME tipo_evento VARCHAR(20)
A equipe criou a trigger abaixo, que será executada no MySQL 8, e registra cada atualização na tabela veiculo, gravando na tabela auditoria_veiculo o identificador do veículo, a placa antes da alteração, a nova placa, o usuário corrente, a data e o tipo de evento ('UPD').
DELIMITER $$
CREATE TRIGGER tr_veiculo_update_audit
__I__
FOR EACH ROW
BEGIN
INSERT INTO auditoria_veiculo
(id_veiculo, placa_anterior, placa_nova, usuario, data_evento, tipo_evento)
VALUES
__II__
END$$
DELIMITER ;
As lacunas I e II devem ser, correta e respectivamente, preenchidas com