mysql 创建存储过程 ,合并表, mybatis调用实现

9 篇文章 0 订阅

存储过程例子:

CREATE PROCEDURE `hbSchedule`(IN date VARCHAR(100))
BEGIN

INSERT INTO `RPT_SCHEDULE_BK` (`SCHEDULE`, `MATERIAL`, `REGION`, `DEVICE_TYPE`, `AMOUNT`, `DAY`, `WEEK`, `MONTH`, `TIME`, `CLICKS`) 

SELECT k.`SCHEDULE`,k.MATERIAL,k.REGION,k.DEVICE_TYPE,sum(AMOUNT) AS AMOUNT,k.`DAY`,k.`WEEK`,k.`MONTH`,k.TIME,SUM(CLICKS) AS CLICKS from RPT_SCHEDULE k where k.`DAY`=date group BY `SCHEDULE`,`MATERIAL`,REGION,DEVICE_TYPE,`DAY`;

DELETE  from  RPT_SCHEDULE  where DAY= date;

INSERT INTO RPT_SCHEDULE SELECT * from RPT_SCHEDULE_BK;

TRUNCATE table RPT_SCHEDULE_BK;

END


在存储过程中使用参数时,除了写上必要的属性名外,还必须指定参数的 mode(模式),可选值为 IN、OUT、INOUT 三种,入参使用 IN,出参使用 OUT,输入输出参数使用 INOUT。

mybatis的xml实现:

         <!-- 定义存储过程 -->
  <select id="hbSchedule"  statementType="CALLABLE" >
         call hbSchedule(
               #{date,mode=IN,jdbcType=VARCHAR}
         )

  </select>

public void hbSchedule(@Param("date")String date);

mysql调用存储过程:call hbSchedule("20170606")


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值