存储过程是一组预先编译好的SQL语句的集合ide
好处:测试
#语法 参数列表包含三部分 参数模式 参数名 参数类型 如 IN name varchar(20) # 若是begin end中只有一条语句,begin end能够省略 # 存储过程体的每一个SQL语句结尾都要使用分号,因此须要使用delimiter从新设置结束标记 create procedure 存储过程名(参数列表) begin 存储过程体 end
call 存储过程名(参数列表)
drop procedure 存储过程名
show create procedure 存储过程名;
delimiter $ #更改结束符 create procedure mypro(IN stu_id int, #入参 学生id out stu_name varchar(20), #返参 学生名 out class_name varchar(20), #返参 班级名 inout a int) #测试inout begin select s.name,c.name into stu_name,class_name #将查到的学生名和班级名赋值给返参stu_name,class_name stu_name,class_name处于用户变量 from student s join class c on s.classid = c.id where s.id = stu_id; #根据学生id查询学生名和班级名 set a = a * 2; #给inout参数赋值 a是用户变量 end $ delimiter ; #结束符改回来 set @m=10; #设置变量 call mypro(1,@stu_name,@class_name,@m); select @stu_name,@class_name,@m; #查询结果
因为自己的博客百度没有收录,博客地址http://zhhll.icuget