diff --git a/createdb.sql b/createdb.sql index cfce39e9a58e3f0f61f80cac720cb8042adbc76c..acbeb46c91a82cb65eb20a185468ed11b85b2347 100644 --- a/createdb.sql +++ b/createdb.sql @@ -61,8 +61,21 @@ CREATE TABLE `Badge`( BadgeID varchar(40) not null unique, primary key(BadgeID), badgeName varchar(35), - badgeDesc varchar(255) - ); + badgeDesc varchar(255), + ageGroup int(1) + ); + DROP TABLE IF EXISTS `WaitList`; + CREATE TABLE `WaitList`( + + studentID varchar(40) unique, + SessionID varchar(40), + dateJoined date, + ageGroup int(1), + FOREIGN KEY (studentID) REFERENCES Students(studentID), + FOREIGN KEY (SessionID) REFERENCES Sessions(SessionID)); + + + DROP TABLE IF EXISTS `BadgeAwarded`; CREATE TABLE `BadgeAwarded`( awardedID int(20) not null unique, @@ -182,6 +195,24 @@ BEGIN END$$ DELIMITER ; +drop procedure if exists `applyToGroup`; +delimiter $$ +CREATE PROCEDURE applyToGroup( + IN studentID varchar(40), + IN SessionID varchar(255), + IN ageGroup int(1)) +BEGIN + DECLARE EXIT HANDLER FOR 1062 + BEGIN + SELECT 'This student is already on a wait list' as ERROR ; + END; + + INSERT INTO WaitList(StudentID,SessionID,dateJoined,ageGroup) values + (StudentID,SessionID,CURDATE(),ageGroup); +END$$ +DELIMITER ; + + drop procedure if exists addStudent; delimiter $$ CREATE PROCEDURE addStudent(