MySQL的存储过程
1:概述
1:是一种用来处理数据的方式,存储过程是一种没有返回值的函数
2:存储过程和函数是事先经过编译并存储在数据库的一段SQL语句的集合,调用存储过程和函数可以简化开发人员的许多工作,减少时间在数据库和应用服务器直接的传输,能够提高数据处理的效率
3:存储过程和函数的区别在于存储函数必须有返回值,而存储过程没有返回值,但是存储过程的参数可以使用IN,OUT,INOUT类型(可以通过OUT和INOUT向外传出数据),而存储函数的参数只能是IN类型的,如果有函数从其他类型的数据库迁移到MySQL,那么就可能需要将函数改为存储过程
2:业务准备
业务:向t_copy表插入100个用户(从id为15之后开始)
创建表
CREATE TABLE t_pro(
id INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
NAME VARCHAR(50)
)CHARSET utf8;
3:创建存储过程
DELIMITER $$
CREATE PROCEDURE pro_copy()
BEGIN
SET @i=4;
WHILE @i<=100 DO
INSERT INTO t_pro(NAME) VALUES(CONCAT("user",@i)); --拼接USER 和i值
SET @[email protected]+1; --防止成为死循环
END WHILE; --结束循环
END $$ --结束自定义结束符
DELIMITER ;
4:查看存储过程创建语句
show create procedure pro_copy\G
5:调用存储过程
call pro_copy();
4:再次查询表
select * from t_pro;