存储过程
存储过程的概念
完成特定功能的sql语句的集合,把定义好的sql集合在一个特定的sql的函数当中,每次执行调用函数即可,还可以实现传参的调用
句执行速度更快,执行效率也更高
客户端可以随时调用发放,也可以随后修改
可以对数据库做任何操作
存储过程的语法
delimiter $$
delimiter 开始和结束的语法,$$标志位,可以自定义,不要用汉字,也不要数字开头,不能使用特殊字符
delimiter $$
create procedure 名称()
begin
select * from 表名
end $$
delimiter
查看存储过程
show procedure status where db=‘库名’
show procedure status like ‘%表名%’\G树形查看
call test1
存储过程传参
IN :传入传入参数。调用者像存储过程传入值
out :输出参数 存储过程向调用者传出值 可以是多个值
inout:既可以表示存储过程向调用者传出,也可以表示用户向存储过程传入值
输入和输出参数
在存储过程当中引用变量无需加@
增加身高
delimiter $$
create procedure test5 (inout str int)
BEGIN
set str=str+10;
end $$
delimiter;
set @str=185;
call test5(@str);
update info1 set high=@str where id=3;
句执行速度更快,执行效率也更高
执行速度要比sql语句执行速度更快,执行效率也更高
客户端可以随时调用发放,也可以随后修改
可以对数据库做任何操作
存储过程的控制语句
whlie
declare用来声明变量类型