diff --git a/db/StoredProcedures.sql b/db/StoredProcedures.sql index 4f5c651117dc7e7fc84ac1113a39aa1a5a160346..333850005b502b50ee99102edce1c49ce5910565 100644 --- a/db/StoredProcedures.sql +++ b/db/StoredProcedures.sql @@ -1124,6 +1124,22 @@ BEGIN WHERE disciplines.ID = DiscID; END // +DROP FUNCTION IF EXISTS isAuthorOfDiscipline// +CREATE FUNCTION `isAuthorOfDiscipline`( `DisciplineID` INT, + `TeacherID` INT + ) RETURNS int(11) + NO SQL +BEGIN + DECLARE checker INT; + SELECT disciplines.AuthorID + INTO checker + FROM `disciplines` + WHERE disciplines.ID = DisciplineID + LIMIT 1; + + RETURN (checker IS NOT NULL AND checker = TeacherID); + +END // DROP PROCEDURE IF EXISTS GetTeachersForDiscipline// CREATE PROCEDURE `GetTeachersForDiscipline`(IN `DiscID` INT) @@ -1140,7 +1156,8 @@ BEGIN departments.Name AS 'DepName', faculties.ID AS 'FacultyID', faculties.Name AS 'FacultyName', - faculties.Abbr AS 'FacultyAbbr' + faculties.Abbr AS 'FacultyAbbr', + isAuthorOfDiscipline(DiscID, teachers.ID) AS 'isAuthor' FROM `disciplines_teachers` INNER JOIN `teachers` ON teachers.ID = disciplines_teachers.TeacherID INNER JOIN `departments` ON departments.ID = teachers.DepartmentID