mirror of
https://github.com/opelly27/WinStudentGoalTracker.git
synced 2026-05-20 09:57:37 +00:00
29 lines
995 B
SQL
29 lines
995 B
SQL
DELIMITER ;;
|
|
CREATE DEFINER=`root`@`%` PROCEDURE `sp_Student_Delete`(IN p_id_student CHAR(36))
|
|
BEGIN
|
|
-- Remove progress-event/benchmark associations
|
|
DELETE peb FROM progress_event_benchmark peb
|
|
INNER JOIN progress_event pe ON pe.id_progress_event = peb.id_progress_event
|
|
INNER JOIN goal g ON g.id_goal = pe.id_goal
|
|
WHERE g.id_student = p_id_student;
|
|
-- Remove progress events
|
|
DELETE pe FROM progress_event pe
|
|
INNER JOIN goal g ON g.id_goal = pe.id_goal
|
|
WHERE g.id_student = p_id_student;
|
|
-- Remove benchmarks
|
|
DELETE b FROM benchmark b
|
|
INNER JOIN goal g ON g.id_goal = b.id_goal
|
|
WHERE g.id_student = p_id_student;
|
|
-- Remove goals
|
|
DELETE FROM goal
|
|
WHERE id_student = p_id_student;
|
|
-- Remove user-student associations
|
|
DELETE FROM user_student
|
|
WHERE id_student = p_id_student;
|
|
-- Remove the student
|
|
DELETE FROM student
|
|
WHERE id_student = p_id_student;
|
|
SELECT ROW_COUNT() AS rows_affected;
|
|
END;;
|
|
DELIMITER ;
|