mysql数据库 | 存储过程
发布日期:2022-02-21 17:40:21 浏览次数:40 分类:技术文章

本文共 878 字,大约阅读时间需要 2 分钟。

mysql数据库 | 存储过程

1. 什么是存储过程?

如果你接触过其他的编程语言,那么就好理解了,存储过程就像是方法一样。

既然它是方法那么他就有类似的方法名,方法要传递的变量和返回结果,所以存储过程有存储过程名有存储过程参数也有返回值。

2. 存储过程的优势?

  1. 是预先编译好的sql,运行速度很快,传统的零散的sql是需要先编译在运行的

  2. 相当于java中的函数,封装了一段sql代码,这样既方便了代码的复用,也可以通过控制调用存储过程接口的权限来保证数据库的安全。

  3. 方便分工,方便DBA(数据库管理员)专注于sql编写和优化;

  4. 存储过程的能力大大增强了SQL语言的功能和灵活性。

  5. 可保证数据的安全性和完整性。

  6. 通过存储过程可以使没有权限的用户在控制之下间接地存取数据库,从而保证数据的安全。

  7. 可以降低网络的通信量。

    使体现企业规则的运算程序放入数据库服务器中,以便 集中控制。

3. 存储过程的缺点?

  1. 调试不是很方便 (没有像开发程序那样容易)
  2. 可能没有创建存储过程的权利
  3. 重新编译问题
  4. 移植性问题(存储过程依赖于具体的数据库)

4. 语法规范

创建

CREATE procedure demo1(in a int, in b int) begin    所有被封装的语句一定在begin和end之间!select a+b;end;

调用

call demo1(1, 2);

删除

DROP PROCEDURE demo1;

声明变量

declare c int default 10;

判断分支

if 条件 then 执行语句 end ifif 条件 then 执行语句1 else 执行语句2 end ifif a+b+c<10 thenselect a+b+celse select a+bend if;

循环结构

while 条件 do执行语句;条件改变语句;end while;declare result int default 0;while c<3 do;set result=result+c;set c=c+1;end while;

转载地址:https://blog.csdn.net/weixin_40597409/article/details/115368739 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:mysql数据库 | 分表和分区
下一篇:mysql数据库 | 数据库优化

发表评论

最新留言

留言是一种美德,欢迎回访!
[***.207.175.100]2024年04月03日 20时20分11秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章