Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- CREATE OR REPLACE TRIGGER PutOnWaitingList
- INSTEAD OF INSERT ON CourseEnrollmentInsert
- FOR EACH ROW
- DECLARE
- studentCount INTEGER;
- courseCapacity INTEGER;
- BEGIN
- SELECT COUNT (*) INTO studentCount
- FROM CourseEnrollmentInsert CEI
- WHERE CEI.course = :NEW.course;
- SELECT numStudents INTO courseCapacity
- FROM CourseEnrollmentInsert CEI
- WHERE CEI.course = :NEW.course
- AND ROWNUM = 1;
- INSERT INTO Log (text, TIME) VALUES ('Before if values: ' || TO_CHAR(studentCount) || ' and ' || TO_CHAR(courseCapacity), SYSTIMESTAMP);
- -- XXX Above
- IF studentCount >= courseCapacity THEN
- INSERT INTO WaitingFor(course, student, since) VALUES
- (:NEW.course, :NEW.student, SYSTIMESTAMP);
- INSERT INTO Log (text, TIME) VALUES ('Course full', SYSTIMESTAMP);
- ELSE
- INSERT INTO CourseEnrollment(course, student) VALUES
- (:NEW.course, :NEW.student);
- INSERT INTO Log (text, TIME) VALUES ('Course not full', SYSTIMESTAMP);
- END IF;
- END PutOnWaitingList;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement