

Seu próximo nível começa aqui
Seu desenvolvimento não pode ter limites. Garanta sua Assinatura Ilimitada e libere uma preparação completa com os melhores professores do Brasil.
Considere as tabelas e as TRIGGERS escritas na notação do Oracle a seguir e responda às questões de 24 a 27.

R1:
CREATE TRIGGER Sal_total1
AFTER INSERT ON FUNCIONARIO
FOR EACH ROW
WHEN (NEW.Dnr IS NOT NULL)
UPDATE DEPARTAMENTO
SET Sal_total = Sal_total + NEW.Salario
WHERE Dnr = NEW.Dnr;
R2:
CREATE TRIGGER Sal_total2
AFTER UPDATE OF Salario ON FUNCIONARIO
FOR EACH ROW
WHEN (NEW.Dnr IS NOT NULL)
UPDATE DEPARTAMENTO
SET Sal_total = Sal_total + NEW.Salario - OLD.Salario
WHERE Dnr = NEW.Dnr;
R3:
CREATE TRIGGER Sal_total3
AFTER UPDATE OF Dnr ON FUNCIONARIO
FOR EACH ROW
BEGIN
UPDATE DEPARTAMENTO
SET Sal_total = Sal_total + NEW.Salario
WHERE Dnr = New.Dnr;
UPDATE DEPARTAMENTO
SET Sal_total = Sal_total - OLD.Salario
WHERE Dnr = OLD.Dnr;
END;
R4:
CREATE TRIGGER Sal_total4
AFTER DELETE ON FUNCIONARIO
FOR EACH ROW
WHEN (OLD.Dnr IS NOT NULL)
UPDATE DEPARTAMENTO
SET Sal_total = Sal_total - OLD.Salario
WHERE Dnr = OLD.Dnr;
R5:
CREATE TRIGGER Informar_supervisor1
BEFORE INSERT OR UPDATE OF Salario,Cpf_supervisor
ON FUNCIONARIO
FOR EACH ROW
WHEN (NEW.Salario> (SELECT Salario FROM FUNCIONARIO)
WHERE Cpf = NEW.Cpf_supervisor))
informar_supervisor(NEW.Cpf_supervisor,NEW.Cpf);
Considere que, em um departamento, todos os funcionários receberam 10% de aumento.
Assinale a alternativa que apresenta, corretamente, a regra que será ativada e quantas vezes ela será ativada.
R1, uma única vez.
R2, uma vez para cada funcionário.
R3, uma vez para cada funcionário.
R4, uma única vez.
R5, uma vez para cada funcionário.