一组可编程的语句,为了完成特定功能的SQL语句
存储过程就是具有名字的一段代码,用来完成一个特定的功能
创建的存储过程保存在数据库的数据字典中
将重复性很高的一些操作,封装到一个存储过程中,简化了对这些SQL的调用
批量处理
统一接口,确保数据安全
相对于oracle数据库来说,MySQL的存储过程相对功能较弱,使用较少
delimiter $$
create procedure show_users()
begin
select * from users;
end$$
delimiter ;
call show_users();
show procedure status; // 查看所有的存储过程
show procedure status where db = 'test'; // 查看’test‘数据库的所有存储过程
show create procedure show_users; // 查看存储过程详情
drop procedure show_users;
delimiter $$
create procedure test()
begin
declare x, y int default 0;
set x = 2;
set y = 3;
declare avgRes double default 0;
select avg(salary) into avgRes from users;
end$$
delimiter ;