记录一次 MySQL 存储过程

发布于 2023-02-09 12:46:18 字数 2553 浏览 106 评论 0

CREATE DEFINER=`root`@`%` PROCEDURE `copyTaskToNew`(IN `originJobGroup` int,IN `targetJobGroup` int)
BEGIN
	DECLARE done BOOLEAN DEFAULT 0 ;
  DECLARE jobCron varchar(128) DEFAULT  '0 0/3 * * * ?';
  DECLARE jobDesc varchar(255) DEFAULT  '';
  DECLARE addTime datetime DEFAULT NULL;
  DECLARE updateTime datetime DEFAULT NULL;
  DECLARE author varchar(64) DEFAULT NULL;
  DECLARE alarmEmail varchar(255) DEFAULT NULL;
  DECLARE executorRouteStrategy varchar(50) DEFAULT NULL;
  DECLARE executorHandler varchar(255) DEFAULT NULL;
  DECLARE executorParam varchar(5120) DEFAULT NULL;
  DECLARE executorBlockStrategy varchar(50) DEFAULT NULL;
  DECLARE executorTimeout int(11) DEFAULT '0';
  DECLARE executorFailRetryCount int(11) DEFAULT '0';
  DECLARE glueType varchar(50) DEFAULT 'BEAN';
  DECLARE glueSource mediumtext;
  DECLARE glueRemark varchar(128) DEFAULT NULL;
  DECLARE glueUpdatetime datetime DEFAULT NULL;
  DECLARE childJobid varchar(255) DEFAULT NULL;
	
	DECLARE cur CURSOR FOR 
	SELECT 
    job_cron as jobCron,
    job_desc,
    add_time,
		update_time,
		author,
		alarm_email,
		executor_route_strategy,
		executor_handler,
		executor_param,
		executor_block_strategy,
		executor_timeout,
		executor_fail_retry_count,
		glue_type,
		glue_source,
		glue_remark,
		glue_updatetime,
		child_jobid
  FROM
    XXL_JOB_QRTZ_TRIGGER_INFO 
  WHERE job_group = originJobGroup;
	
	DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET done = 1 ;
	
	OPEN cur ;
	REPEAT
		FETCH cur INTO 
    jobCron,
    jobDesc,
    addTime,
		updateTime,
		author,
		alarmEmail,
		executorRouteStrategy,
		executorHandler,
		executorParam,
		executorBlockStrategy,
		executorTimeout,
		executorFailRetryCount,
		glueType,
		glueSource,
		glueRemark,
		glueUpdatetime,
		childJobid;
		
    
    INSERT INTO XXL_JOB_QRTZ_TRIGGER_INFO
		(
			job_group,
			job_cron,
			job_desc,
			add_time,
			update_time,
			author,
			alarm_email,
			executor_route_strategy,
			executor_handler,
			executor_param,
			executor_block_strategy,
			executor_timeout,
			executor_fail_retry_count,
			glue_type,
			glue_source,
			glue_remark,
			glue_updatetime,
			child_jobid
		) 
    VALUES
		(
			targetJobGroup,
			jobCron,
			jobDesc,
			addTime,
			updateTime,
			author,
			alarmEmail,
			executorRouteStrategy,
			executorHandler,
			executorParam,
			executorBlockStrategy,
			executorTimeout,
			executorFailRetryCount,
			glueType,
			glueSource,
			glueRemark,
			glueUpdatetime,
			childJobid
		) ;
    UNTIL done 
  END REPEAT ;
  CLOSE cur ;
END

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据

关于作者

0 文章
0 评论
24 人气
更多

推荐作者

Gabu-gabumon

文章 0 评论 0

qq_CgiN62

文章 0 评论 0

荔枝明

文章 0 评论 0

¤→小豸慧

文章 0 评论 0

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文