前两天面试被问到MySQL的存储过程是什么,当时没回答上来,回来查了一下,原来是这么回事:
存储过程(Stored Procedure),简单来说,是一组完成某一特定功能的SQL语句集,就是把一些常用的或者是比较复杂的操作预先用SQL语句写好,并保存起来,以后用的时候通过call来调用所保存的名称即可完成操作。直白点就是把SQL语句封装,最后直接调用。
下面是一个简单的例子
上面的例子就是实现一个简单的存储过程,关于其基本语法大致如下:
实际操作的时候可以用 delimiter // 命令将 ; 号换成 //,这样以分号结尾时就不会自动执行了。
1创建一个存储过程
create procedure xxx()
begin
......
end
2.调用存储过程
call xxx()
3.删除存储过程
drop procedure xxx
可以通过 show procedure status 查看数据库中的所有存储过程的基本信息,show create procedure xxx 查看xxx这个存储过程的详细信息