mysql数据库 | 存储过程
发布日期:2022-02-21 17:40:21
浏览次数:40
分类:技术文章
本文共 878 字,大约阅读时间需要 2 分钟。
mysql数据库 | 存储过程
1. 什么是存储过程?
如果你接触过其他的编程语言,那么就好理解了,存储过程就像是方法一样。
既然它是方法那么他就有类似的方法名,方法要传递的变量和返回结果,所以存储过程有存储过程名有存储过程参数也有返回值。
2. 存储过程的优势?
-
是预先编译好的sql,运行速度很快,传统的零散的sql是需要先编译在运行的
-
相当于java中的函数,封装了一段sql代码,这样既方便了代码的复用,也可以通过控制调用存储过程接口的权限来保证数据库的安全。
-
方便分工,方便DBA(数据库管理员)专注于sql编写和优化;
-
存储过程的能力大大增强了SQL语言的功能和灵活性。
-
可保证数据的安全性和完整性。
-
通过存储过程可以使没有权限的用户在控制之下间接地存取数据库,从而保证数据的安全。
-
可以降低网络的通信量。
使体现企业规则的运算程序放入数据库服务器中,以便 集中控制。
3. 存储过程的缺点?
- 调试不是很方便 (没有像开发程序那样容易)
- 可能没有创建存储过程的权利
- 重新编译问题
- 移植性问题(存储过程依赖于具体的数据库)
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 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
留言是一种美德,欢迎回访!
[***.207.175.100]2024年04月03日 20时20分11秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
Cornerstone链接SVN教程
2019-04-26
环信集成错误
2019-04-26
微信支付
2019-04-26
支付宝支付集成
2019-04-26
极光推送
2019-04-26
iOS 获取本地设备IP地址
2019-04-26
QQ丶微信分享URL Schemes填写
2019-04-26
dispatch_sync死锁
2019-04-26
博客笔记总结2
2019-04-26
博客笔记总结1
2019-04-26
UITextField 限制输入字数
2019-04-26
时间日期比较
2019-04-26
IOS将字符串转换为日期时间格式
2019-04-26
数组 字典转Json
2019-04-26
判断textField是否为纯数字
2019-04-26
JSonKit支持 ARC
2019-04-26
自定义iOS7导航栏背景,标题和返回按钮文字颜色
2019-04-26
ios开源库
2019-04-26
iOS UILabel根据字符串长度自动适应宽度和高度
2019-04-26
细说JVM内存模型
2019-04-26