最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501
当前位置: 首页 - 科技 - 知识百科 - 正文

mysql-定时调用存储过程_MySQL

来源:懂视网 责编:小采 时间:2020-11-09 19:47:21
文档

mysql-定时调用存储过程_MySQL

mysql-定时调用存储过程_MySQL:mysql定时调用存储过程,对表数据集表结构进行备份 存储过程实例: CREATE PROCEDURE backUpSms() BEGIN DECLARE tname varchar(64); set @tname = CONCAT('sms_accpet',DATE_FORMAT(NOW(),'%Y%m
推荐度:
导读mysql-定时调用存储过程_MySQL:mysql定时调用存储过程,对表数据集表结构进行备份 存储过程实例: CREATE PROCEDURE backUpSms() BEGIN DECLARE tname varchar(64); set @tname = CONCAT('sms_accpet',DATE_FORMAT(NOW(),'%Y%m

mysql定时调用存储过程,对表数据集表结构进行备份

存储过程实例:

CREATE PROCEDURE backUpSms()
BEGIN
	DECLARE tname varchar(64);	
	set @tname = CONCAT('sms_accpet',DATE_FORMAT(NOW(),'%Y%m'));	
	set @rname = CONCAT('create table ',@tname,' select * from sms_accpet');
	PREPARE create_table from @rname;
	EXECUTE create_table;

	delete from sms_accpet;

定时器实例
CREATE EVENT EVENT_SMS 
ON SCHEDULE EVERY 1 MONTH STARTS DATE_ADD(DATE_ADD(DATE_SUB(CURDATE(),INTERVAL DAY(CURDATE())-1 DAY), INTERVAL 1 MONTH),INTERVAL 1 HOUR) 
ON COMPLETION PRESERVE ENABLE 
DO CALL backUpSms();

参考网站:

存储过程:

http://blog.csdn.net/youngqj/article/details/6936632
http://blog.csdn.net/sun886/article/details/7992935

定时器:

http://www.cnblogs.com/gaizai/archive/2012/12/24/2831315.html

http://lobert.iteye.com/blog/1953827

1.复制表结构及数据到新表

CREATE TABLE 新表
SELECT * FROM 旧表

2.只复制表结构到新表

CREATE TABLE 新表
SELECT * FROM 旧表 WHERE 1=2
即:让WHERE条件不成立.
方法二:(低版本的mysql不支持,mysql4.0.25 不支持,mysql5已经支持了)
CREATE TABLE 新表
LIKE 旧表

3.复制旧表的数据到新表(假设两个表结构一样)

INSERT INTO 新表
SELECT * FROM 旧表

4.复制旧表的数据到新表(假设两个表结构不一样)

INSERT INTO 新表(字段1,字段2,…….)
SELECT 字段1,字段2,…… FROM 旧表

样例抽选
每天凌晨三点执行 
create event event_call_defer 
on schedule every 1 day starts date_add(date(curdate() + 1),interval 3 hour) 
on completion preserve enable 
do 
begin 
 call test.warn(); 
end 
 
每个月的一号凌晨1 点执行 
CREATE EVENT EVENT2 
ON SCHEDULE EVERY 1 MONTH STARTS DATE_ADD(DATE_ADD(DATE_SUB(CURDATE(),INTERVAL DAY(CURDATE())-1 DAY), INTERVAL 1 MONTH),INTERVAL 1 HOUR) 
ON COMPLETION PRESERVE ENABLE 
DO 
 BEGIN 
 CALL STAT(); 
 END 
 
每个季度一号的凌晨2点执行 
CREATE EVENT TOTAL_SEASON_EVENT 
ON SCHEDULE EVERY 1 QUARTER STARTS DATE_ADD(DATE_ADD(DATE( CONCAT(YEAR(CURDATE()),'-',ELT(QUARTER(CURDATE()),1,4,7,10),'-',1)),INTERVAL 1 QUARTER),INTERVAL 2 
HOUR) 
ON COMPLETION PRESERVE ENABLE 
DO 
 BEGIN 
 CALL SEASON_STAT(); 
 END 
 
 
每年1月1号凌晨四点执行 
CREATE EVENT TOTAL_YEAR_EVENT 
ON SCHEDULE EVERY 1 YEAR STARTS DATE_ADD(DATE(CONCAT(YEAR(CURDATE()) + 1,'-',1,'-',1)),INTERVAL 4 HOUR) 
ON COMPLETION PRESERVE ENABLE 
DO 
 BEGIN 
 CALL YEAR_STAT(); 
 END 

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文档

mysql-定时调用存储过程_MySQL

mysql-定时调用存储过程_MySQL:mysql定时调用存储过程,对表数据集表结构进行备份 存储过程实例: CREATE PROCEDURE backUpSms() BEGIN DECLARE tname varchar(64); set @tname = CONCAT('sms_accpet',DATE_FORMAT(NOW(),'%Y%m
推荐度:
标签: 使用 过程 定时
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top