简介:
重点:区别 存储过程的参数类型可以用 in out inout , 函数的参数类型只能使用in 类型。
存储过程和函数的权限
创建 修改 和调用:
创建新的 存储过程,可以看到 参数类型使用了in 和 out;
并且创建存储过程和函数之前 都需要使用delimiter 修改语句结束符 ;截图是把 ‘;’ 结束符 修改为了 $$
存储过程其中的一个优点 就是如果查询逻辑发生了变化,只需要修改 存储过程即可,调用方因为只需要传参,所以对调用者的程序没有影响。
调用上面创建的存储过程 只需要 call 函数名,然后传入对应的参数值即可,如下图:
常用设置:一般 调用时 使用哪个权限进行校验 用的比较多。 具体示例 见下图:
调用存储过程时 设置权限校验的规则:
删除存储过程或者函数:可以选择参数 if exists 可以判断是否存在后 再删除
查看存储过程或者函数的状态,show procedure/ function statue [条件】
查看存储过程的定义,show create procedure 存储过程名称。(类似查看表创建语句:show create table 表名称)
information_schema 库里存储了 很多表的基础信息,routines 表存储的就是 存储过程和函数的 一些信息。
可以通过查询routines表 了解
函数变量的定义和使用:
declare 变量名称 变量类型 [默认值]
变量的赋值:
光标:
时间调度器:
调度器 示例: