mysql定时任务调用存储过程 mysql中带参数的存储过程基本使用教程

文章浏览阅读1.8k次。定时任务:现在是mysql定时任务的带参数的部分;:参数的前面需要IN基本格式:Sp_Update_Distance( in 变量名 变量类型

定时任务:

现在是mysql定时任务的带参数的部分;

:参数的前面需要IN

基本格式:

Sp_Update_Distance( in 变量名 变量类型,                  in 变量名 变量类型,                  in 变量名 变量类型,                  in 变量名 变量类型,                  in 变量名 变量类型);

下面的语句实现的作用:

(1)#1:先去创建一个存储过程,里面有5个参数;

根据具体的情况:需要的是车牌号,里程,日期,

仍然选择5个参数是为了:和*经理方面的程序保持一致;

其中使用到是:License(车牌号);Distance(里程);G_Date(日期)

#2:声明了2个里程,因为下面会对里程进行删除操作;然后又需要插入操作;

所以:这样做是将需要的数据提前保留在一个声明的变量中。

#3: 删除数据;(满足输入参数的那条数据)

#4:添加一条数据(经过计算得到的那条里程数据)

总结:这个存储过程可以修改比如今天是2021年1月4日,

所以可以修改之前的任意一天的数据;

```javaDELIMITER $$USE `subiaodb`$$DROP PROCEDURE IF EXISTS `Sp_Update_Distance`$$CREATE DEFINER = `root` @`localhost` PROCEDURE `Sp_Update_Distance` ( #1  IN Simcard_No CHAR(11),  IN License VARCHAR (20),  IN LColor CHAR(1),  IN Distance FLOAT,  IN G_Date DATETIME) BEGIN  DECLARE Mileage3 DOUBLE ; #2  DECLARE Mileage4 DOUBLE ;  SELECT     mileage1 INTO Mileage3   FROM    fuelconsumption   WHERE plateNo = License     AND DATE_FORMAT(staticDate, '%Y-%m-%d') = DATE_FORMAT(G_Date, '%Y-%m-%d') ;  SELECT     mileage2 INTO Mileage4   FROM    fuelconsumption   WHERE plateNo = License     AND DATE_FORMAT(staticDate, '%Y-%m-%d') = DATE_FORMAT(G_Date, '%Y-%m-%d') ;  DELETE     #3  FROM    fuelconsumption   WHERE plateNo = License     AND DATE_FORMAT(staticDate, '%Y-%m-%d') = DATE_FORMAT(G_Date, '%Y-%m-%d') ;  INSERT INTO fuelconsumption ( #4    plateNo,    staticDate,    mileage,    deleted,    companyId,    gas,    gas1,    gas2,    HOUR,    intervalType,    mileage1,    mileage2,    createDate  )   VALUES    (      License,      G_Date,      Distance,      b'0',      0,      0,      0,      0,      0,      1,      Mileage3,      Mileage4,      DATE_ADD(G_Date, INTERVAL 1 DAY)    ) ;END $$DELIMITER ;

有的时候mysql的存储过程需要提前退出;类似sqlserver的return;https://www.cnblogs.com/Braveliu/p/10149070.html(这是转载一个前辈的)

原创文章,作者:筱凯,如若转载,请注明出处:https://www.jingyueyun.com/ask/866.html

(0)
筱凯筱凯
上一篇 2024 年 7 月 15 日
下一篇 2024 年 7 月 15 日

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

云产品限时秒杀。精选云产品高防服务器,500M大带宽限量抢购  >>点击进入