1.存储过程优点!
1.增强SQL语句的功能和灵活性。
2.实现较快的执行速度。
3.减少网络流量。
insert into users(username) value ('aa'),('bb'),('cc'),('dd'),('ee'),('ff'),('gg');
2.
create procedure cp_name(in、out、inout)
in----调用存储过程前,指定一个值。没有返回。
out----存储过程可以改变指定值。并且可以带返回。
inout:----调用存储过程是。可以改变值以及可以返回
****IN
-- 创建存储过程根据id删除,传入ID不能根据数据的id相同
create procedure removeById(IN rid int)
BEGIN
delete from users where id=rid;
end;
CALL removeById(5);-- 调用存储过程
DROP PROCEDURE removeById;-- 删除存储过程。
-- 先删除,在统计,待返回值。
create procedure remByIdAndCount(in rid int,out usernames int )
BEGIN
delete from users where id=rid;
select COUNT(id) from users INTO usernames;
end
CALL remByIdAndCount(5,@unms);-- @nums变量。
BEGIN
@var -- 在begin 与end 之间神明的变量为局部变量。
END
3.存储过程与函数的区别:
1.存储过程实现的功能要复杂点,函数针对性更强。
2.存储过程可以有多个返回值,函数只有一个。
3.存储过程一般独立执行。函数可以跟其他SQL语句组合出现。