Advertisement
Guest User

Untitled

a guest
Oct 11th, 2018
94
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
MySQL 1.85 KB | None | 0 0
  1. CREATE SCHEMA IF NOT EXISTS `174exam1`;
  2.  
  3. USE `174exam1`;
  4.  
  5. #1
  6. CREATE TABLE IF NOT EXISTS Department(
  7.     dnumber     int,
  8.     dname       varchar(20),
  9.     location    varchar(20),
  10.     noOfEmp     int,
  11.     PRIMARY KEY(dnumber)
  12. );
  13.  
  14. CREATE TABLE IF NOT EXISTS Employee(
  15.     ssn         int,
  16.     name        varchar(20),
  17.     address     varchar(20),
  18.     phone       int(9),
  19.     dno         int,
  20.     PRIMARY KEY(ssn),
  21.     FOREIGN KEY(dno) REFERENCES Department(dnumber)
  22. );
  23.  
  24. TRUNCATE Department;
  25. TRUNCATE Employee;
  26.  
  27. INSERT INTO Department
  28. VALUES (01, 'Biology', 'Sequoia', 21);
  29.  
  30. INSERT INTO Department
  31. VALUES (02, 'Computer Science', 'Riverside', 11);
  32.  
  33. INSERT INTO Employee
  34. VALUES (123456789, 'Eric', '1 Address', 123456789, 02);
  35.  
  36. INSERT INTO Employee
  37. VALUES (111111111, 'Janet', '2 Address', 111111111, 01);
  38.  
  39. INSERT INTO Employee
  40. VALUES (987654321, 'Coach', '3 Address', 987654321, 02);
  41.  
  42. #Test #2
  43. INSERT INTO Employee
  44. VALUES (222222222, 'Diane', '4 Address', 222222222, 1);
  45.  
  46. #Test #3
  47. DELETE FROM Employee
  48. WHERE ssn = 222222222;
  49.  
  50. #Test #4
  51. UPDATE Employee
  52. SET dno = 2
  53. WHERE ssn = 222222222;
  54.  
  55. SELECT * from Department;
  56.  
  57. UPDATE Department
  58. SET noOfEmp = 0
  59. WHERE dnumber = 2;
  60.  
  61. #2 WHY WONT THIS WORK
  62. DELIMITER $
  63. CREATE TRIGGER ins_t
  64.     AFTER INSERT
  65.     ON Employee
  66.     FOR EACH ROW
  67.     BEGIN
  68.         UPDATE Department, Employee
  69.         SET noOfEmp = noOfEmp + 1
  70.         WHERE dnumber = dno;
  71.     END $
  72. DELIMITER ;
  73.  
  74. #3
  75. DELIMITER $
  76. CREATE TRIGGER del_t
  77.     AFTER DELETE
  78.     ON Employee
  79.     FOR EACH ROW
  80.     BEGIN
  81.         UPDATE Department, Employee
  82.         SET noOfEmp = noOfEmp - 1
  83.         WHERE Department.dnumber = Employee.dno;
  84.     END $
  85. DELIMITER ;
  86.  
  87. #4
  88. DELIMITER $
  89. CREATE TRIGGER upd_t
  90.     AFTER UPDATE
  91.     ON Employee
  92.     FOR EACH ROW
  93.     BEGIN
  94.         UPDATE Department, Employee
  95.         SET noOfEmp = noOfEmp
  96.         WHERE Department.dnumber = Employee.dno;
  97.     END $
  98. DELIMITER ;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement