Advertisement
Guest User

Untitled

a guest
Nov 27th, 2014
158
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PL/SQL 1.38 KB | None | 0 0
  1. PROCEDURE error_list (
  2.   p_start IN DATE,
  3.   p_end IN DATE
  4. )
  5. IS
  6. BEGIN
  7.   DBMS_OUTPUT.PUT_LINE('Showing error logs for ' || p_start || ' - ' || p_end);
  8.   DBMS_OUTPUT.PUT_LINE('--------------------------------------------------------------------------');
  9.   FOR rec IN (
  10.     SELECT * FROM ERROR_LOG
  11.     WHERE E_DATE BETWEEN p_start AND p_end  
  12.     ORDER BY E_USER ASC, E_DATE DESC
  13.   )
  14.   LOOP
  15.     DBMS_OUTPUT.PUT_LINE('[' || rec.E_DATE || '] ' || rec.E_USER || ' ' || rec.ERROR_CODE || ' ' || rec.ERROR_MESSAGE);
  16.   END LOOP;
  17.   EXCEPTION
  18.     WHEN NO_DATA_FOUND THEN
  19.       DBMS_OUTPUT.PUT_LINE('No error logs.');
  20.       v_error_code := SQLCODE;
  21.       v_error_message := SQLERRM;
  22.       INSERT INTO error_log (e_user, e_date, error_code, error_message)
  23.         VALUES (USER, SYSDATE, v_error_code, v_error_message);
  24.     WHEN e_invalid_datatype THEN
  25.       DBMS_OUTPUT.PUT_LINE('Invalid data type.');
  26.       v_error_code := SQLCODE;
  27.       v_error_message := SQLERRM;
  28.       INSERT INTO error_log (e_user, e_date, error_code, error_message)
  29.         VALUES (USER, SYSDATE, v_error_code, v_error_message);
  30.     WHEN OTHERS THEN
  31.       DBMS_OUTPUT.PUT_LINE('Unexpected error occurred.');
  32.       v_error_code := SQLCODE;
  33.       v_error_message := SQLERRM;
  34.       INSERT INTO error_log (e_user, e_date, error_code, error_message)
  35.         VALUES (USER, SYSDATE, v_error_code, v_error_message);
  36. END error_list;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement