O comando a seguir aborda o procedimento para excluir o log de cursos do Moodle de uma determinada categoria. Os comandos foram projetados para o banco de dados MySQL.
São três comandos. O primeiro faz a contagem dos registros. O segundo lista os registros. O último faz a exclusão. Os dois primeiros são para controle da exclusão. Passe o parâmetro do ID da categoria em c.category = ?
a) Contagem de registro
SELECT COUNT(l.id)
FROM mdl_logstore_standard_log l
JOIN (
SELECT l.id
FROM mdl_logstore_standard_log l
INNER JOIN mdl_course c ON l.courseid = c.id
WHERE c.category = ?
LIMIT 1000
) AS subquery ON l.id = subquery.id
b) Lista de registro
SELECT l.id,l.courseid,l.timecreated
FROM mdl_logstore_standard_log l
JOIN (
SELECT l.id
FROM mdl_logstore_standard_log l
INNER JOIN mdl_course c ON l.courseid = c.id
WHERE c.category =?
LIMIT 1000
) AS subquery ON l.id = subquery.id
c) Exclusão
DELETE l
FROM mdl_logstore_standard_log l
JOIN (
SELECT l.id
FROM mdl_logstore_standard_log l
INNER JOIN mdl_course c ON l.courseid = c.id
WHERE c.category =?
LIMIT 1000
) AS subquery ON l.id = subquery.id