Imagem de fundo

Assinale a alternativa que apresenta, corretamente, as...

Considere as tabelas e as TRIGGERS escritas na notação do Oracle a seguir e responda às questões de 24 a 27.


FUNCIONARIO

Nome

Cpf

Salario

Dnr

Cpf_Supervisor


DEPARTAMENTO

Dnome

Dnr

Sal_total

Cpf_gerente


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);

Assinale a alternativa que apresenta, corretamente, as regras que serão ativadas quando um funcionário de um departamento tiver o seu salário alterado.


A

R1, R2


B

R1, R5


C

R2, R5


D

R2, R4


E

R3, R4