版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
存储过程——概述
公众账号:InsideMySQL
存储在数据库端的一组SQL语句集
用户可以通过存储过程名和传参多次调用的程序模块
存储过程的特点:
使用灵活,可以使用流控制语句、自定义变量等完成复杂的业务逻辑
提高数据安全性,屏蔽应用程序直接对表的操作,易于进行审计
减少网络传输
提高代码维护的复杂度,实际使用中要评估场景是否适合
存储过程-流控制语言 公众账号:InsideMySQL
流控制
描述
IFsearch_conditionTHENstatement_list
IF
[ELSEIFsearch_conditionTHENstatement_list][ELSEstatement_list]
ENDIF
CASEcase_value
CASE
WHENwhen_valueTHENstatement_list
[ELSEstatement_list]ENDCASE
WHILE
WHILEsearch_conditionDOstatement_listENDWHILE
REPEAT
REPEATstatement_list
UNTILsearch_conditionENDREPEAT
存储过程-基本语法
CREATE
[DEFINER={user|CURRENT_USER}]
PROCEDUREsp_name([proc_parameter[,...]])
[characteristic...]routine_body
proc_parameter:
[IN|OUT|INOUT]param_nametypetype:
AnyvalidMySQLdatatype
characteristic:
COMMENT'string'
|[NOT]DETERMINISTIC
routine_body:
ValidSQLroutinestatement
公众账号:InsideMySQL
存储过程-示例与调用 公众账号:InsideMySQL
CREATEPROCEDUREproc_test1(INtotalINT,OUTresINT)BEGIN
mysql>set@total=10;
QueryOK,0rowsaffected
DECLAREiINT;SETi=1;
SETres=1;
IFtotal<=0THEN
SETtotal=1;
mysql>set@res=1;
QueryOK,0rowsaffected
mysql>callproc_test1(@total,@res);
QueryOK,1rowaffected
END;
ENDIF;
WHILEi<=totalDO
SETres=res*i;
INSERTINTOtbl_proc_test(num)VALUES(res);SETi=i+1;
ENDWHILE;
mysql>select@res;
+ +
|@res |
+ +
|3628800|
+ +
1rowinset
与存储过程非常类似
但是必须带有返回值
与内置的SUM(),MAX()等MySQL原生函数使用方法类似
SELECTfunc(val);
SELECT*fromtblwherecol=func(val);
自定义函数可能在遍历每条记录中使用
注意性能损耗
自定义函数 公众账号:InsideMySQL
自定义函数——基本语法
CREATE
[DEFINER={user|CURRENT_USER}]
FUNCTIONsp_name([func_parameter[,...]])
RETURNStype
[characteristic...]routine_bodyfunc_parameter:
param_nametypetype:
AnyvalidMySQLdatatype
characteristic:
COMMENT'string'
|[NOT]DETERMINISTIC
routine_body:
ValidSQLroutinestatement
公众账号:InsideMySQL
自定义函数——示例与调用 公众账号:InsideMySQL
CREATEFUNCTIONfunc_test1(totalINT)RETURNSINT
BEGIN
DECLAREiINT;DECLAREresINT;SETi=1;
SETres=1;
IFtotal<=0THEN
SETtotal=1;
mysql>selectfunc_test1(4);
+ +
|func_test1(4)|
+ +
| 24|
+ +
1rowinset
END;
ENDIF;WHILEi<=
total
DO
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 施工员专业综合知识必看题库知识点(三)
- 垃圾焚烧厂锅炉培训
- 安全应急预案方案(2篇)
- 物流发展实施方案(2篇)
- 学校食堂招投标方案(2篇)
- 《行政职业能力测验》2022年公务员考试泸州市江阳区预测密卷含解析
- 成都市武侯区2022年公务员考试《行政职业能力测验》预测密卷含解析
- 黑龙江省哈尔滨市2022年公务员考试《行政职业能力测验》考前冲刺试题含解析
- 《行政职业能力测验》2022年公务员考试玉树藏族自治州杂多县考前冲刺试题含解析
- 《药物化学》毕业考试练习题库(含答案)
- 一般工业管道安装工艺要求
- 《检验检测机构资质认定评审准则》一般程序审查表
- 《中医皮肤病学》word版
- 土地整治工程项目建设目标
- 自考《学前教育研究方法》全套课件(完整版)
- TVFD9说明书--精选文档
- (高清版)民用建筑修缮工程施工标准JGJ_T 112-2019
- 后张法预应力空心板梁施工方案
- 冀教版五年级下学期数学计算题全能专项练习
- VPO宣传手册(课堂PPT)
- 水文地质学基础5定律
评论
0/150
提交评论