mysql中带参数的存储过程基本使用教程

定时任务:
现在是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日,
所以可以修改之前的任意一天的数据;

```java
DELIMITER $$
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(这是转载一个前辈的
)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值