TEXT
TRIGGER trigger_verifica_atrasos
AFTER INSERT OR UPDATE on REGISTRO_HORARIO
REFERENCING NEW AS NOVO
FOR EACH ROW
DECLARE
v_atrasos NUMBER;
v_hora_chegada TIMESTAMP(6);
v_hora_atual TIMESTAMP(6);
v_atraso_atual NUMBER;

BEGIN
v_hora_atual := SYSTIMESTAMP;
v_hora_chegada := :NOVO.hora_chegada;

SELECT atrasos INTO v_atraso_atual FROM funcionario WHERE id = :NOVO.id_funcionario;

IF (v_hora_atual > v_hora_chegada) THEN
	UPDATE funcionario SET atraso = v_atraso_atual + 1 where id = :NOVO.id_funcionario;
END IF;
END trigger_verifica_atrasos;