sidrs

DBMSL Ass 7A - Library Trigger

Sep 29th, 2025
1,410
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PL/SQL 1.92 KB | None | 0 0
  1. CREATE TABLE Library (
  2.     book_id NUMBER PRIMARY KEY,
  3.     book_name VARCHAR2(100),
  4.     book_author VARCHAR2(100)
  5. );
  6.  
  7. CREATE TABLE Library_Audit (
  8.     event_time TIMESTAMP,
  9.     book_id NUMBER PRIMARY KEY,
  10.     book_name VARCHAR2(100),
  11.     book_author VARCHAR2(100),
  12.     remarks VARCHAR2(500)
  13. );
  14.  
  15. INSERT INTO Library VALUES (001, 'Computer Architecture (7th ed.)', 'Patterson and Hennessey');
  16. INSERT INTO Library VALUES (002, 'Introduction to Linear Algebra (2nd Ed.)', 'Gilbert Strang'); -- update to 5th edition
  17. INSERT INTO Library VALUES (003, 'Automata Theory (1st Ed.)', 'Ulman'); -- update to 2nd edition
  18. INSERT INTO Library VALUES (004, 'Operating System Concepts (8th Ed.)', 'Silberschatz');
  19. INSERT INTO Library VALUES (005, '1984', 'George Orwell'); -- delete book
  20. INSERT INTO Library VALUES (006, 'Digital Logic (3rd Ed.)', 'Morris Mano'); -- update to 6th edition
  21. INSERT INTO Library VALUES (007, 'Alice in Wonderland', 'Lewis Caroll'); -- delete book
  22. INSERT INTO Library VALUES (008, 'Database System Concepts (7th Ed.)', 'Korth');
  23.  
  24. CREATE OR REPLACE TRIGGER updateTrigger AFTER UPDATE
  25. ON Library FOR EACH ROW
  26. BEGIN
  27.     INSERT INTO Library_Audit VALUES (
  28.         SYSTIMESTAMP,
  29.         :OLD.book_id,
  30.         :OLD.book_name,
  31.         :OLD.book_author,
  32.         'Updated'
  33.     );
  34. END;
  35.  
  36. CREATE OR REPLACE TRIGGER deleteTrigger AFTER DELETE
  37. ON Library FOR EACH ROW
  38. BEGIN
  39.     INSERT INTO Library_Audit VALUES (
  40.         SYSTIMESTAMP,
  41.         :OLD.book_id,
  42.         :OLD.book_name,
  43.         :OLD.book_author,
  44.         'Removed'
  45.     );
  46. END;
  47.  
  48. DELETE FROM Library WHERE book_id = 005;
  49.  
  50. UPDATE Library
  51.     SET book_name = 'Introduction to Linear Algebra (5th Ed.)'
  52.     WHERE book_id = 002;
  53.  
  54. UPDATE Library
  55.     SET book_name = 'Automata Theory (2nd Ed.)'
  56.     WHERE book_id = 003;
  57.  
  58. DELETE FROM Library WHERE book_id = 007;
  59.  
  60. UPDATE Library
  61.     SET book_name = 'Digital Logic (6th Ed.)'
  62.     WHERE book_id = 006;
  63.  
  64.  
  65.  
  66.  
Advertisement
Add Comment
Please, Sign In to add comment