
数据库
PostgreSQL 18.6 安装记录
一、环境 项值主机192.168.6.98系统CentOS Stream 9(x86\64)SELinuxEnforcing防火墙firewalld(active)安装方式PGDG
创建存储过程:
CREATE PROCEDURE KeepDatasWith30Days()
BEGIN
DECLARE maxId INT;
SELECT max(Id) INTO maxId FROM tableName WHERE CreateTime < DATE(DATE_SUB(NOW(), INTERVAL 31 DAY));
DELETE FROM tableName WHERE Id < maxId LIMIT 100000;
END
请将上述代码中的tableName替换为你要操作的表名。
确认MySQL版本是否为5.1以上: 执行以下SQL语句:
SELECT VERSION();
确认MySQL事件是否开启: 执行以下SQL语句:
SHOW VARIABLES LIKE '%event_scheduler%';
如果结果显示OFF,则执行以下SQL语句开启事件调度器:
SET GLOBAL event_scheduler = ON;
创建定时事件: 执行以下SQL语句,将startTime替换为你希望定时调用存储过程的起始时间:
CREATE EVENT del_event
ON SCHEDULE
EVERY 1 DAY
STARTS 'startTime'
DO CALL KeepDatasWith30Days();
查看事件是否创建成功: 执行以下SQL语句:
SHOW EVENTS;
这将显示已创建的事件及其状态。
以上是实现创建存储过程和定时调用的基本步骤,你可以根据具体的需求和数据库环境进行调整和优化。请确保在执行任何数据库操作之前备份重要数据,并谨慎操作。
评论 0