admin管理员组文章数量:1794759
MySQL的自定义函数
自定义函数
函数(存储函数):
1、需要返回值;
2、可以指定0~n个参数。
语法格式:
create function 函数名([参数]) returns type [characteristics] 函数体charcateristics指定存储函数的特性,取值举例:
1、 sql security {definer|invoker};指明谁有权限来执行;
definer表示只有定义者才能执行;
invoker表示拥有权的调用者才可以执行,默认情况下,系统指定为definer;
2、 comment’string’:注释信,才可以用来描述存储函数。
函数体:
① 函数体是由SQL代码构成;
② 函数体可以是简单的SQL语句,比如:简单的查询语句
③ 函数体如果为复合结构需要使用begin…end语句
④ 复合结构可以包含声明、流程控制。
delimiter // -- 设置结束符为// create function ym_date(mydate date) returns varchar(15) -- returns指定函数的返回类型 begin return date_format(mydate,'%Y-%m'); -- 函数需要返回值,return返回相应的处理结果 end// delimiter ; -- 恢复结束符删除自定义函数:
drop function [if exists] func_name;变量:可以在存储程序(存储过程和函数)中使用变量。
在存储程序中变量的作用范围在begin...end之间。
语法格式:
declare var_name[,var_name] … date_type [default value];两种赋值方式:
Set var_name = expr[,var_name = expr]…; Select col_name[,…] into var_name[…] table_expr;If分支语句:
if condition then ……; [elseif condition then] ……; [else] …; end if;case分支语句:
case case_expr when when_value then statement_list; [when when_value then statement_list;]… [else statement_list;] end case; case when expr_condition then statement_list; [when expr_condition then statement_list;]… [else statement_list;] end case;while循环语句:
语法格式:
[while_label:]while condition do … End while[while_libe];loop循环语句:该循环没有内置循环条件,但可以通过leave语句退出循环。
语法格式:
[loop_label:]loop Statement_list; End loop [loop_label];leave语句用来跳出循环,语法格式:leave label;
repeat循环语句:该语句执行一次循环体,之后判断condition条件是否为真,为真则退出循环,否则继续执行循环体。
语法格式:
[repeat_label:] repeat …; until expr_condition end repeat [repeat_label:];版权声明:本文标题:MySQL的自定义函数 内容由林淑君副主任自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.xiehuijuan.com/baike/1686493438a73699.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论