mysql自动创建/删除分区的存储过程

本文介绍了如何在MySQL中创建和调用存储过程来自动管理日期分区。内容包括如何新建按日期自动创建7个分区的存储过程,以及如何编写和执行删除最小分区的存储过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  • 存储过程创建:

    • mysql对应库下得存储过程右键选择新建存储过程

在这里插入图片描述

  • 自动创建分区存储过程代码 (按照日期创建7个分区)
CREATE DEFINER=`root`@`%` PROCEDURE 库名`.`insert_partition`(databasename varchar(255),tablename varchar(255))
BEGIN
	 
DECLARE nowdate date;
DECLARE endtmp date;
declare dt VARCHAR(256);
declare realdt VARCHAR(256);
declare partitionTemp VARCHAR(256);

set nowdate = DATE_FORMAT(CURRENT_DATE() ,'%Y%m%d');
set endtmp = DATE_ADD(nowdate,INTERVAL 7 DAY);
set endtmp = DATE_FORMAT(endtmp,'%Y%m%d');

WHILE nowdate<=endtmp 
DO

set dt = date_format(nowdate, '%Y%m%d');
set realdt = DATE_ADD(nowdate,INTERVAL 1 DAY);
set realdt = date_format(realdt, '%Y%m%d');

set partitionTemp = concat('ALTER TABLE ',databasename,'.',tablename,' ADD PARTITION (PARTITION p',dt,' VALUES LESS THAN (to_days(',"'",realdt,"'",')))');

SET @
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值