mysql存储过程之循环

1.客户端创建一个存储过程,过程名称为insert_corp_loop

2.填写内容

DELIMITER $
DROP PROCEDURE IF EXISTS insert_corp_loop$
CREATE
    /*[DEFINER = { user | CURRENT_USER }]*/
    PROCEDURE `XXX`.`insert_corp_loop`(IN loop_time INT)
    /*LANGUAGE SQL
    | [NOT] DETERMINISTIC
    | { CONTAINS SQL | NO SQL | READS SQL DATA | MODIFIES SQL DATA }
    | SQL SECURITY { DEFINER | INVOKER }
    | COMMENT 'string'*/
    BEGIN
       
        -- 定义本地变量
	
	DECLARE status_value INT DEFAULT 1;	
	DECLARE ecname_value VARCHAR(60);
	DECLARE eccode_value VARCHAR(32);	
	DECLARE order_date_value TIMESTAMP DEFAULT NOW();
	
	DECLARE i INT DEFAULT 1;

	
	-- 对变量进行赋值
	SET ecname_value='lntest001';
	SET eccode_value='ln201201111700';
	
	WHILE i<=loop_time DO -- 循环
	
	SET eccode_value=CONCAT(201201111700+i);
	
	-- 待执行的SQL	
	INSERT INTO corp_order (STATUS,ecname,eccode,order_date) VALUES (status_value,ecname_value,eccode_value,order_date_value);

	SET i=i+1;
	END WHILE; -- 结束循环

    END$

DELIMITER ;
说明:
1.PROCEDURE `mop`.`insert_corp_loop`(IN loop_time INT) 添加参数
2.WHILE i<=loop_time  DO 


  END WHILE; 
循环
3. 注释   /* */或者--


执行:

mysql> call insert_corp_loop(5); 
Query OK, 1 row affected (0.40 sec)



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值