openGauss
开源数据库
openGauss社区官网
开源社区
什么是存储过程
2022-09-16数据库入门
什么是存储过程
介绍
存储过程是数据库中的一个重要对象。其是一组可实现特定功能的 sql 语句集,可以传入参数,可类比 python 中的自定义函数。
存储过程用命令对象来调用,exec sp_name [参数名]
存储过程优缺点
优点
存储过程的 sql 语句都是预编译过的,执行速度比较快。
存储过程主要在服务器上运行,可降低对客户机的压力,进而减少通信量。
可保证数据的安全性和完整性。通过存储过程可以使没有权限的用户在控制之下间接地存取数据库,从而保证数据的安全。通过存储过程可以使相关的动作在一起发生,从而可以维护数据库的完整性。
缺点
存储过程参数修改比一般代码麻烦。
存储过程调试过程复杂且繁琐。
示例
-- 创建过程
create procedure mypro6(out sum int)
begin
declare num int default 0;
set sum = 0;
repeat-- 循环开始
set num = num+1;
set sum = sum+num;
until num>=10
end repeat; -- 循环结束
end;
-- 调用过程
call mypro6(@sum);
-- 查询变量值
select @sum;