Os comandos a seguir abordam o procedimento para excluir nota do quadro geral de nota e o histórico de notas dos cursos do Moodle de uma determinada categoria. Os comandos foram projetados para o banco de dados MySQL.
São dois comandos. O primeiro faz a contagem dos registros.. O segundo processa a exclusão. Passe o parâmetro do ID da categoria em c.category = ?
I) Quadro geral de nota
a) Contagem de registro
SELECT COUNT(g.id)
FROM mdl_grade_grades g
JOIN (
SELECT g.id
FROM mdl_grade_grades g
INNER JOIN mdl_grade_items i ON g.itemid = i.id INNER JOIN mdl_course c ON c.id=i.courseid
WHERE c.category = ?
LIMIT 1000
) AS subquery ON g.id = subquery.id
b) Exclusão
DELETE g
FROM mdl_grade_grades g
JOIN (
SELECT g.id
FROM mdl_grade_grades g
INNER JOIN mdl_grade_items i ON g.itemid = i.id INNER JOIN mdl_course c ON c.id=i.courseid
WHERE c.category = ?
LIMIT 1000
) AS subquery ON g.id = subquery.id
II) Histórico do quadro geral de nota
a) Contagem de registro
SELECT COUNT(g.id)
FROM mdl_grade_grades_history g
JOIN (
SELECT g.id
FROM mdl_grade_grades_history g
INNER JOIN mdl_grade_items i ON g.itemid = i.id INNER JOIN mdl_course c ON c.id=i.courseid
WHERE c.category = ?
LIMIT 1000
) AS subquery ON g.id = subquery.id
b) Exclusão
DELETE g
FROM mdl_grade_grades_history g
JOIN (
SELECT g.id
FROM mdl_grade_grades_history g
INNER JOIN mdl_grade_items i ON g.itemid = i.id INNER JOIN mdl_course c ON c.id=i.courseid
WHERE c.category = ?
LIMIT 1000
) AS subquery ON g.id = subquery.id