第十二章 存储过程和函数

简介:

第十二章 存储过程和函数_第1张图片

重点:区别 存储过程的参数类型可以用 in  out  inout , 函数的参数类型只能使用in 类型。

存储过程和函数的权限

创建  修改 和调用:

第十二章 存储过程和函数_第2张图片

 

创建新的 存储过程,可以看到 参数类型使用了in   和 out;

并且创建存储过程和函数之前 都需要使用delimiter 修改语句结束符 ;截图是把 ‘;’ 结束符 修改为了 $$

存储过程其中的一个优点 就是如果查询逻辑发生了变化,只需要修改 存储过程即可,调用方因为只需要传参,所以对调用者的程序没有影响。

第十二章 存储过程和函数_第3张图片

调用上面创建的存储过程 只需要 call 函数名,然后传入对应的参数值即可,如下图:

常用设置:一般 调用时 使用哪个权限进行校验 用的比较多。 具体示例 见下图:

第十二章 存储过程和函数_第4张图片

调用存储过程时 设置权限校验的规则:

第十二章 存储过程和函数_第5张图片

删除存储过程或者函数:可以选择参数 if exists  可以判断是否存在后 再删除

第十二章 存储过程和函数_第6张图片

 

查看存储过程或者函数的状态,show procedure/ function  statue [条件】

查看存储过程的定义,show create procedure 存储过程名称。(类似查看表创建语句:show create table 表名称)

第十二章 存储过程和函数_第7张图片

 

information_schema 库里存储了 很多表的基础信息,routines 表存储的就是 存储过程和函数的 一些信息。

可以通过查询routines表 了解

第十二章 存储过程和函数_第8张图片

 

函数变量的定义和使用:

declare 变量名称  变量类型 [默认值]

第十二章 存储过程和函数_第9张图片

变量的赋值:

第十二章 存储过程和函数_第10张图片

第十二章 存储过程和函数_第11张图片

第十二章 存储过程和函数_第12张图片

光标:

第十二章 存储过程和函数_第13张图片

 

第十二章 存储过程和函数_第14张图片

第十二章 存储过程和函数_第15张图片

第十二章 存储过程和函数_第16张图片

第十二章 存储过程和函数_第17张图片

第十二章 存储过程和函数_第18张图片

事件调度器:

第十二章 存储过程和函数_第19张图片

调度器 示例:

第十二章 存储过程和函数_第20张图片

第十二章 存储过程和函数_第21张图片

第十二章 存储过程和函数_第22张图片

第十二章 存储过程和函数_第23张图片

你可能感兴趣的:(书籍学习:深入浅出MySQL,数据库开发优化与管理维护)