Advertisement
Guest User

Untitled

a guest
Apr 18th, 2020
235
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PL/SQL 0.80 KB | None | 0 0
  1. CREATE TABLE logi(
  2.   id NUMBER(4),
  3.   tabela VARCHAR2(50),
  4.   uzytkownik VARCHAR2(30),
  5.   data DATE,
  6.   operacja VARCHAR2(6)
  7. );
  8.  
  9. CREATE OR REPLACE TRIGGER logger
  10. AFTER INSERT OR UPDATE OR DELETE
  11. ON pracownicy
  12. FOR EACH ROW
  13.  
  14. DECLARE
  15. tmp_id NUMBER(4);
  16. tmp_tabela VARCHAR2(50);
  17. tmp_uzytkownik VARCHAR2(30);
  18. tmp_operacja VARCHAR2(6);
  19. tmp_date DATE;
  20.  
  21. BEGIN
  22. SELECT SYSDATE INTO tmp_date
  23. FROM dual;
  24.  
  25. SELECT USER INTO tmp_uzytkownik
  26. FROM dual;
  27.  
  28. SELECT COUNT(*) INTO tmp_id
  29. FROM logi;
  30.  
  31. IF DELETING THEN
  32. tmp_operacja := 'DELETE';
  33. ELSIF INSERTING THEN
  34. tmp_operacja := 'INSERT';  
  35. ELSIF UPDATING THEN
  36. tmp_operacja := 'UPDATE';
  37. END IF;  
  38.  
  39. INSERT INTO logi(
  40. id,
  41. tabela,
  42. uzytkownik,
  43. data,
  44. operacja
  45. )
  46. VALUES(
  47. log_id+1,
  48. "pracownicy",
  49. tmp_uzytkownik,
  50. tmp_date,
  51. tmp_operacja
  52. );
  53. END logger;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement