mysql怎么查看存储函数 mysql查看数据存储路径

五、MYSQL存储过程和函数 ? create procedure用来创建存储过程,create function用来创建函数
?Delimiter命令是改变语句的结束符 , MySQL默认的结束符为;号,由于procedure和function中的;号并不代表创建的结束,所以要替换成另外的结束符以便表示创建的结束
? rontine_body子句可以包含一个简单的SQL语句,也可以包含多个SQL语句,通过begin…end将这多个SQL语句包含在一起
? MySQL存储过程和函数中也可以包含类似create和drop等DDL语句
? comment子句用来写入对存储过程和函数的注释
?Language子句用来表示此存储过程和函数的创建语言
?存储过程和函数被标注为deterministic表明当输入相同的参数是会返回相同的结果 , 反之如果是not deterministic则表示相同参数不会是相同结果,默认是not deterministic
?相关属性短语只有咨询含义,并不是强制性的约束
? Drop procedure/function语句用来删除指定名称的存储过程或函数
? Begin…end语句通常出现在存储过程、函数和触发器中,其中可以包含一个或多个语句,每个语句用;号隔开
? 标签label可以加在begin…end语句以及loop, repeat和while语句
?语句中通过iterate和leave来控制流程,iterate表示返回指定标签位置,leave表示跳出标签
?Declare语句通常用来声明本地变量、游标、条件或者handler
?Declare语句只允许出现在begin … end语句中而且必须出现在第一行
?Declare的顺序也有要求,通常是先声明本地变量,再是游标,然后是条件和handler
? 本地变量可以通过declare语句进行声明
?声明后的变量可以通过select … into var_list进行赋值,或者通过set语句赋值,或者通过定义游标并使用fetch … into var_list赋值
? 通过declare声明变量方法:
? MySQL支持if,case,iterate,leave,loop,while,repeat语句作为存储过程和函数中的流程控制语句,另外return语句也是函数中的特定流程控制语句
? Case语句在存储过程或函数中表明了复杂的条件选择语句
? IF语句在存储过程或函数中表明了基础的条件选择语句
其中在 function 里面,只有 DETERMINISTIC, NO SQL 和 READS SQL DATA 被支持 。如果我们开启了 bin-log, 我们就必须为我们的 function 指定一个参数 。
在 MySQL 中创建函数时出现这种错误的解决方法:
set global log_bin_trust_function_creators=TRUE;
? Iterate语句仅出现在loop,repeat,while循环语句中,其含义表示重新开始此循环
? Leave语句表明退出指定标签的流程控制语句块
? 通常会用在begin…end,以及loop,repeat,while的循环语句中
【mysql怎么查看存储函数 mysql查看数据存储路径】 ? Loop语句是存储过程或函数中表达循环执行的一种方式
? repeat语句是存储过程或函数中表达循环执行的一种方式
? while语句是存储过程或函数中表达循环执行的一种方式
? Return语句用在函数中,用来终结函数的执行并将指定值返回给调用者
? Cursor游标用来声明一个数据集
? 游标的声明必须在变量和条件声明之后 , 在handler声明之前
? Cursor close语句用来关闭之前打开的游标
? Cursor declare语句用来声明一个游标和指定游标对应的数据集合,通常数据集合是一个select语句
? Cursor fetch语句用来获取游标指定数据集的下一行数据并将各个字段值赋予后面的变量
? Open cursor语句用来打开一个之前已经声明好的游标
? Declare condition语句命名特定的错误条件,而该特定错误可以在declare…handler中指定处理方法
? 比如在MySQL中1051error code表示的是unknown table的错误,如果要对这

推荐阅读