我想procedure
在 MYSQL 中创建一个每小时运行一次delete
的表中的所有条目Document
。如果这些用户在发布文档时未满 18 岁,我想删除所有访问级别为 5 的文档,如果它们是在一年后由法国人发布的
下面的代码给了我一个错误并告诉我检查我的语法。有没有人对如何修复代码有任何想法,使其成为一个工作程序?
CREATE EVENT hourlydelete
ON SCHEDULE EVERY 1 HOUR
DO CALL delete_Document();
DELIMITER $$
CREATE PROCEDURE delete_Document()
BEGIN
DELETE FROM Document
WHERE (Document.idPerson = Person.idPerson AND Person.Country = 'France' AND Document.AccessLevel = 5)
AND ((DATEDIFF(Document.Posted,Person.DateOfBirth) / 365) < 18)
AND ((DATEDIFF(NOW(), Document.Posted)/365) > 3)
ORDER by Document.idPerson
END
$$
DELIMITER;