MySQL 存储过程使用 Demo

1、创建存储过程

delimiter $$ #将语句的结束符号从分号;临时改为两个$$(可以是自定义)
DROP PROCEDURE IF EXISTS lottery_demo;
CREATE PROCEDURE lottery_demo()
BEGIN
DECLARE num INTEGER DEFAULT 1;
#批量插入10000条数据
WHILE num <=10000 DO
    INSERT INTO member_lotteries (openid,lottery_number,created_at,updated_at) values 
(
CONCAT('otY875PO1WwsKTPga0nivRbg5Nws',num),CONCAT('WW',num),CURRENT_TIME,CURRENT_TIME
);
SET num = num +1;
END WHILE;
END$$
delimiter; #将语句的结束符号恢复为分号

注意:默认情况下,存储过程和默认数据库相关联,如果想指定存储过程创建在某个特定的数据库下,那么在过程名前面加数据库名做前缀。 在定义过程时,使用 DELIMITER $$ 命令将语句的结束符号从分号 ; 临时改为两个 $$,使得过程体中使用的分号被直接传递到服务器,而不会被客户端(如mysql)解释。

2、调用存储过程

CALL lottery_demo();

  Enjoy it !

原文地址:https://www.cnblogs.com/daizhongxing/p/13601866.html