Advertisement
Guest User

Untitled

a guest
Oct 21st, 2017
67
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
SQL 0.83 KB | None | 0 0
  1. CREATE TRIGGER tr_check_req
  2. AFTER INSERT ON HW3.SCHEDULE
  3. REFERENCING NEW AS nROW
  4. FOR EACH ROW MODE DB2SQL
  5. BEGIN
  6. DECLARE preReqFound BOOLEAN DEFAULT FALSE;
  7. FOR v1 AS
  8.       c1 CURSOR FOR
  9.    SELECT * FROM HW3.CLASSREQ WHERE ClassId = nROW.ClassId
  10.    DO
  11.       IF( EXISTS(
  12.         SELECT 1 FROM HW3.SCHEDULE WHERE StudentId = nROW.StudentId AND ClassId = PrereqId AND
  13.         ( YEAR != nRow.YEAR AND Semester != nRow.Semester) AND Coreq = 'F')
  14.         )
  15.       THEN SET preReqFound = TRUE ;
  16.       END IF;
  17.  
  18.       IF( EXISTS(
  19.         SELECT 1 FROM HW3.SCHEDULE WHERE StudentId = nROW.StudentId AND ClassId = PrereqId AND Coreq = 'T')
  20.         )
  21.       THEN SET preReqFound = TRUE ;
  22.       END IF;
  23.   END FOR;
  24.   IF preReqFound = FALSE
  25.   THEN SIGNAL SQLSTATE '88888' ('Student does not have prerequisite OR co-requisite');
  26.  
  27. END
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement