diff --git a/db/StoredProcedures.sql b/db/StoredProcedures.sql index c3049f0efa9bb2a7778a07d23e67056a5492150b..3bb192650ba7a044f610d190c8e9d20c083c21b9 100644 --- a/db/StoredProcedures.sql +++ b/db/StoredProcedures.sql @@ -197,7 +197,7 @@ END // DROP PROCEDURE IF EXISTS GetDepartments// -CREATE PROCEDURE `GetDepartments` ( ) +CREATE PROCEDURE `GetDepartments` ( IN `FacultyID` INT ) NO SQL BEGIN SELECT departments.ID AS 'DepID', @@ -206,7 +206,8 @@ BEGIN faculties.Name AS 'FacultyName', faculties.Abbr AS 'FacultyAbbr' FROM `departments` - INNER JOIN `faculties` ON faculties.ID = departments.FacultyID; + INNER JOIN `faculties` ON faculties.ID = departments.FacultyID + WHERE departments.FacultyID = FacultyID; END // @@ -980,7 +981,9 @@ END // DROP PROCEDURE IF EXISTS GetDisciplineInfoByID// -CREATE PROCEDURE `GetDisciplineInfoByID`(IN `DiscID` INT) +CREATE PROCEDURE `GetDisciplineInfoByID`( IN `DiscID` INT, + IN `DepID` INT, + IN `FacultyID` INT ) NO SQL BEGIN @@ -997,7 +1000,10 @@ BEGIN FROM `disciplines` INNER JOIN `subjects` ON subjects.ID = disciplines.SubjectID - WHERE disciplines.ID = DiscID; + INNER JOIN `departments` ON departments.ID = disciplines.DepartmentID + WHERE ( DiscID = 0 OR disciplines.ID = DiscID) AND + ( DepartmentID = 0 OR disciplines.DepartmentID = DepartmentID ) AND + ( FacultyID = 0 OR departments.FacultyID = FacultyID); END //