You are on page 1of 7

1.

USE courses

GO

delimiter $$

CREATE PROCEDURE CourseList()

BEGIN

SELECT *

FROM courses

ORDER BY courseName ASC ;

END

delimiter ;

2.

USE courses

GO

delimiter $$

CREATE PROCEDURE SingleCourse(IN Num VARCHAR( 255 ))

BEGIN SELECT *

FROM courses

WHERE courseNumber = Num;

END $$
delimiter ;

3.

USE courses

GO

DELIMITER $$

CREATE PROCEDURE NewCourse(IN Num char(10), IN Name VARCHAR(75), IN Credits tinyint(4),


OUT number_of_inserted_rows INT)

BEGIN

insert into Courses(courseNumber,courseName,courseCredits)

values(Num, Name, Credits);

SELECT ROW_COUNT() INTO number_of_inserted_rows;

END $$

DELIMITER ;

4.

USE courses

GO

DELIMITER $$

CREATE PROCEDURE UpdateCourse(IN Num char(10), IN Name VARCHAR(75), IN Credits


tinyint(4), OUT number_of_altered_rows INT)

BEGIN
UPDATE Courses

SET courseName = Name, courseCredits = Credits

WHERE courseNumber = Num;

SELECT ROW_COUNT() INTO number_of_altered_rows;

END $$

DELIMITER ;

5.

USE courses

GO

DELIMITER $$

CREATE PROCEDURE DeleteCourse(IN Num char(10), OUT number_of_deleted_rows INT)

BEGIN

DECLARE inUse INT;

SET number_of_deleted_rows = 0 ;

SELECT COUNT(*) INTO inUse

FROM TrackCourses

WHERE courseNumber = Num;

IF inUse = 0 THEN

DELETE FROM Restrictors


WHERE courseNumber = Num;

DELETE FROM Courses

WHERE courseNumber = Num;

SELECT ROW_COUNT() INTO number_of_deleted_rows;

END IF;

END $$

DELIMITER ;

6.

USE courses

GO

DELIMITER $$

CREATE FUNCTION NumberOfCourses() RETURNS INT

BEGIN

DECLARE Num INT;

SELECT COUNT(*) INTO Num

FROM Courses;

RETURN(Num);

END$$

DELIMITER ;
7.

USE courses

GO

DELIMITER $$

CREATE FUNCTION TotalTRackCredits(ID INT) RETURNS INT

BEGIN

DECLARE Num INT;

SELECT COUNT(*) INTO num

FROM TrackCourses

WHERE trackID = ID;

RETURN(Num);

END $$

DELIMITER ;

8.

USE courses

GO

DELIMITER $$
CREATE FUNCTION HighestCredits() RETURNS INT

BEGIN

DECLARE Num INT;

SELECT MAX(courseCredits) INTO Num

FROM Courses;

RETURN(Num);

END $$

DELIMITER ;

9.

USE courses

GO

DELIMITER $$

CREATE FUNCTION TopTracksDivision() RETURNS INT

BEGIN

DECLARE Num INT;

SELECT COUNT(*) as TrackCount into Num

FROM Tracks

GROUP BY divisionID
RETURN(num);

END $$

DELIMITER ;

10.

USE courses

GO

DELIMITER $$

CREATE FUNCTION leastRestrictedCourseNumber() RETURNS INT

BEGIN

DECLARE Num INT;

SELECT COUNT(*) as CourseCount into Num

FROM Restrictors

GROUP BY courseNumber

LIMIT 1;

RETURN(Num);

END $$

DELIMITER ;

You might also like