1. 首先呢,我这里给出存储过程的定义,到底什么是存储过程。
存储过程是指,在大型数据库系统中,为了提高数据库操作的效率和SQL代码的封装,完成特定功能的SQL语句集,
存储在数据库中,经过第一次编译后,再次调用不需要再次编译,用户只需指定存储过程名字并给定参数就可以执行完成任务。
2. 接下来怎么创建存储过程呢?
这里有一张表 grade,里面有几行数据。创建存储过程语法
create procedure 存储过程名(参数) //这里参数有三种,in 要输入的参数,out 输出的参数 ,inout 输入输出的参数
begin
sql语句集 //因为sql语句集中需要使用 ;分号结尾,那么我把整个存储过程结尾符号改成#
end
使用 dilimiter $在当前窗口就改好了
例如我创建下面的不带参数的存储过程
delimiter # create procedure show_grade() begin select * from grade; select * from grade order by score desc; end$ delimiter ;
3.创建带参数的存储过程格式,传入学生的id,返回学生的分数
create procedure show_grade_by_sid(in id int,out score out) //前面的in可以省略,省略默认是in类型
begin
end#
4.用同一个变量名作为inout参数,如下:
意思就是存储过程的创建啦。
要删除存储过程用 drop命令
drop procedure pro_inout_test