2019-06-28 mysql 循环执行sql

本文介绍使用SQL存储过程进行批量数据插入的方法,通过定义循环和变量,实现对多个发票类型的数据自动填充,同时展示了如何创建和调用存储过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

//定义结束符
delimiter $$
//如果已经有pre函数则删除
drop procedure  if exists pre; 
//创建pre函数
CREATE PROCEDURE pre ( ) BEGIN
//定义i
	DECLARE
		i INT;
	//起始值
	SET i = 1000;
	WHILE
            //循环
			i < 1095 DO
			INSERT INTO aa ( conn_id, invoice_type, invoice_type_name, invouce_max_amount, invoice_max_num, valid_num, used_num, lave_num, virtual_num, min_num, invoice_status )
		VALUES
			( i, '1', '机动车销售统一发票', '999999.99', '100', '100', '0', '100', '100', '5', '1' );
		INSERT t_invoice_stock_detail ( conn_id, invoice_type, invoice_type_name, invouce_max_amount, invoice_max_num, valid_num, used_num, lave_num, virtual_num, min_num, invoice_status )
		VALUES
			( i, '2', '增值税专用发票', '999999.99', '100', '100', '0', '100', '100', '5', '1' );
		INSERT t_invoice_stock_detail ( conn_id, invoice_type, invoice_type_name, invouce_max_amount, invoice_max_num, valid_num, used_num, lave_num, virtual_num, min_num, invoice_status )
		VALUES
			( i, '3', '增值税普通发票', '999999.99', '100', '100', '0', '100', '100', '5', '1' );
		INSERT t_invoice_stock_detail ( conn_id, invoice_type, invoice_type_name, invouce_max_amount, invoice_max_num, valid_num, used_num, lave_num, virtual_num, min_num, invoice_status )
		VALUES
			( i, '4', '增值税电子普通发票', '999999.99', '100', '100', '0', '100', '100', '5', '1' );
		INSERT t_invoice_stock_detail ( conn_id, invoice_type, invoice_type_name, invouce_max_amount, invoice_max_num, valid_num, used_num, lave_num, virtual_num, min_num, invoice_status )
		VALUES
			( i, '6', '二手车统一发票', '999999.99', '100', '100', '0', '100', '100', '5', '1' );
		
		SET i = i + 1;
		
	END WHILE;

END $$ CALL pre ( ); // 结束
DROP PROCEDURE idata;

delimiter;;
CREATE PROCEDURE idata ( ) BEGIN
	DECLARE
		i INT;
	
	SET i = 1;
	WHILE
			( i <= 800000 ) DO
			INSERT INTO t2 ( q, w, e, r, f )
		VALUES
			( i, i, i, i, i );
		
		SET i = i + 1;
		
	END WHILE;
	
END;;

delimiter;
CALL idata ( );

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值