什么是存储过程?
存储过程(Stored Procedure)是一种在数据库中存储复杂程序,以便外部程序调用的一种数据库对象。
存储过程是为了完成特定功能的SQL语句集,经编译创建并保存在数据库中,用户可通过指定存储过程的名字并给定参数(需要时)来调用执行。
存储过程的优缺点
优点
- 实现了模块化编程。
- 调用一次以后,相关信息就保存在内存中,下次调用时可以直接执行。
- 存储过程可以接受输入参数并可以返回输出值。
- 存储过程具有对数据库立即访问的功能。
- 使用存储过程可以加快程序的运行速度。
- 使用存储过程可以减少网络流量。
-
缺点
存储过程,往往定制化于特定的数据库上,因为支持的编程语言不同。当切换到其他厂商的数据库系统时,需要重写原有的存储过程。
- 存储过程的性能调校与撰写,受限于各种数据库系统。
存储过程编写
基本结构
调用存储过程:create procedure sp_name(proc_parameter) --proc_parameter:[ IN | OUT | INOUT ] param_name type
--某些数据库需要在存储过程参数后加上as或者is
begin
sql语句/逻辑
end ;
call sp_name[(传参)];
声明存储过程语句结束符,可以自定义:
DELIMITER $$ 或 DELIMITER //
变量定义:
DECLARE var_name[, var_name] ... type [DEFAULT value];
附参考资料: