Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- SELECT CASE
- WHEN COUNT(emp.logon_end_time) > 1 THEN 'Sim' ELSE 'Não'
- END AS "Teve Queda Hoje?", emp.EMPLOYEE_ID
- FROM t_employee_logon emp
- WHERE TRUNC(emp.logon_end_time) = TRUNC(SYSDATE)
- GROUP BY emp.logon_end_time, emp.EMPLOYEE_ID
- HAVING COUNT(emp.logon_end_time) > 1;
- SELECT *
- FROM t_employee_logon emp
- WHERE employee_id = 'L84979'
- AND TRUNC(emp.logon_end_time) = TRUNC(SYSDATE)
- ORDER BY LOGON_START_DATE DESC, LOGON_START_TIME DESC;
- SELECT ROUND((emp.logon_start_time - LAG(emp.logon_start_time) OVER (ORDER BY emp.logon_start_time)) * 1440) || ' minutos' AS "Minutos entre logins"
- FROM t_employee_logon emp
- WHERE employee_id = '98611'
- AND TRUNC(emp.logon_end_time) = TRUNC(SYSDATE)
- ORDER BY LOGON_START_DATE DESC, LOGON_START_TIME DESC
- FETCH FIRST 1 ROW only;
- SET SERVEROUTPUT ON
- DECLARE
- v_aux VARCHAR(50);
- CURSOR c1 IS
- SELECT CASE
- WHEN COUNT(emp.logon_end_time) > 1 THEN 'Sim' ELSE 'Não'
- END AS "Teve Queda Hoje?", emp.EMPLOYEE_ID
- FROM t_employee_logon emp
- WHERE TRUNC(emp.logon_end_time) = TRUNC(SYSDATE)
- GROUP BY emp.logon_end_time, emp.EMPLOYEE_ID
- HAVING COUNT(emp.logon_end_time) > 1;
- BEGIN
- FOR r1 IN c1 LOOP
- SELECT ROUND((emp.logon_start_time - LAG(emp.logon_start_time) OVER (ORDER BY emp.logon_start_time)) * 1440) || ' minutos' AS "Minutos entre logins"
- INTO v_aux
- FROM t_employee_logon emp
- WHERE employee_id = r1.employee_id
- AND TRUNC(emp.logon_end_time) = TRUNC(SYSDATE)
- ORDER BY LOGON_START_DATE DESC, LOGON_START_TIME DESC
- FETCH FIRST 1 ROW only;
- DBMS_OUTPUT.put_line(r1.employee_id || ': ' || v_aux);
- END LOOP;
- END;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement