mysql儲存過程的使用案例
阿新 • • 發佈:2020-12-07
迴圈插入資料
1.建立儲存過程
CREATE DEFINER=`social`@`%` PROCEDURE `inser_gift_coupon`(IN in_number INT,IN in_user_id BIGINT) BEGIN DECLARE count INT default 0; DECLARE sum INT default 0; WHILE count < in_number DO INSERT INTO `social_db`.`gift_coupon` ( `user_id`, `gift_coupon_id`, `life`, `create_time` ) VALUES (in_user_id, 'T001', 3162240000, now()), (in_user_id, 'T002', 3162240000, now()); SET sum = sum + count; SET count = count + 1; END WHILE; select sum; END
引數說明
in_number 要插入多少條
in_user_id 使用者ID
檢視儲存過程
show procedure status;
2. mybatis呼叫
<select id="batchAddGiftCoupon" statementType="CALLABLE" resultType="java.lang.Integer"> {call inser_gift_coupon(#{inNumber,mode=IN,jdbcType=INTEGER},#{inUserId,mode=IN,jdbcType=BIGINT})} </select>
int batchAddGiftCoupon(@Param("inNumber") Integer inNumber, @Param("inUserId") Long inUserId);