Descreva o objetivo do trigger: # Criar uma trigger que guarde o valor antigo do salário sempre que ele for atualizado na tabela funcionarios.
CREATE TABLE salario_antigo (
id_funcionario INT,
salario_anterior DECIMAL(10,2),
data_atualizacao DATETIME
);
DELIMITER //
CREATE TRIGGER atualizacao_salario
BEFORE UPDATE ON funcionarios
FOR EACH ROW
BEGIN
IF OLD.salario <> NEW.salario THEN
INSERT INTO salario_antigo (id_funcionario, salario_anterior, data_atualizacao)
VALUES (OLD.id_funcionario, OLD.salario, NOW());
END IF;
END;
//
DELIMITER ;
UPDATE funcionarios SET salario = 2200.00 WHERE salario = 2100.00;
SELECT * FROM salario_antigo;
SELECT * FROM funcionarios;
O objetivo do trigger é criar uma funcionalidade que armazene o valor antigo do salário sempre que ele for atualizado na tabela "funcionarios". Dessa forma, toda vez que houver uma atualização no salário de um funcionário, o trigger será acionado e irá inserir o valor antigo do salário na tabela "salario_antigo", juntamente com o ID do funcionário e a data da atualização. Isso permite que seja mantido um registro histórico dos salários anteriores dos funcionários.
Para escrever sua resposta aqui, entre ou crie uma conta
Compartilhar