自定义函数

函数(存储函数):

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_exprwhen when_value then statement_list;[when when_value then statement_list;]…[else statement_list;]
end case;
casewhen 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的自定义函数相关推荐

  1. mysql增加自定义函数功能

    mysql默认是不能自定义函数的 当create function时 This function has none of DETERMINISTIC, NO SQL, or READS SQL DAT ...

  2. mysql求分位数_给Mysql加自定义函数计算百分位数(percentile)。

    百分位数(percentile)的详细定义见百度百科. 在这里我用一个通俗的例子来补充解释, 例如今年有900万人参加了高考,自然有900万个成绩,某个学校计划择优招生分数最高的前900个,那么分数线 ...

  3. mysql之自定义函数

    本文内容: 什么是函数 函数的创建 函数的调用 函数的查看 函数的修改 函数的删除 首发日期:2018-04-18 什么是函数: 函数存储着一系列sql语句,调用函数就是一次性执行这些语句.所以函数可 ...

  4. MySQL如何自定义函数

    在使用 MySQL 的过程中,MySQL 自带的函数可能完成不了我们的业务需求,这时候就需要自定义函数. 自定义函数是一种与存储过程十分相似的过程式数据库对象.它与存储过程一样,都是由 SQL 语句和 ...

  5. mysql支持自定义函数_MySQL 自定义函数

    自定义函数概念 用户自定义函数(user-defined function, UDF)是一种对MySQL扩展的途径, 其用法与内置函数相同. 自定义函数的两个必要条件: 参数 返回值 (只能有一个) ...

  6. MySql创建自定义函数(Function)

    1.创建自定义函数 DELIMITER $$ DROP FUNCTION IF EXISTS genPerson$$ CREATE FUNCTION genPerson(name varchar(20 ...

  7. MySQL创建自定义函数教程

    目录 1.语法 2.示例 2.1 举例 2.2 报错 3.练习 3.1 练习数据库及表创建 MySQL版本:8.0.20 3.2 创建自定义函数1 创建一个通过学号sid获取学生信息的函数 3.3 自 ...

  8. Mysql中自定义函数的创建和执行

    假设students表中包含id和name两个字段,创建一个函数,函数的作用是根据id查找name 1.创建表,插入数据 create table students(id int,name varch ...

  9. mysql自定义函数的优缺点_浅谈MySQL创建自定义函数漏洞的利用和防止

    前一阵子网上风靡的MySQL的udf.dll提权我有所了解-近日由于不再在IDC行业工作了-所以也有所淡忘- 只是最近实在手痒,就决定对我的站点所在的服务器下手--.正好用上这招了- 站点的服务器是W ...

  10. mysql java自定义函数_Mysql自定义函数总结

    存储函数 创建存储函数,需要使用CREATE FUNCTION语句,基本语法如下: CREATE FUNCTION func_name([func_parameter])RETURNSTYPE[cha ...

最新文章

  1. ubuntu 14.04 安装java_Ubuntu 14.04中安装Java
  2. 宁夏启动人工智能助推教师队伍建设行动
  3. leetcode算法题--摆动序列★
  4. 【线程】——线程安全问题
  5. python paas_Python paasword包_程序模块 - PyPI - Python中文网
  6. 如何在JavaScript中将字符串的首字母大写?
  7. php session 不通过cookie_PHP会话控制机制中,Cookie和Session的应用,你更喜欢谁
  8. JavaScript比较是否在某时间段内
  9. webView实现网页缩放
  10. R语言中经纬度度分秒转小数
  11. RTL8153B RTL8153 千兆以太网 有~现 ~货
  12. ShaderForge - 纹理水平垂直翻转
  13. java2的n次方表达式,某个数是2的N次方
  14. python作业代做_CSC1001作业代做、代写Programming Methodology作业、代做Python实验作业、Python程序设计作业调试...
  15. HTML+CSS基础知识简单版
  16. 化工设计常用的三维软件有哪些?SmartPlant 3D、PDMS、SolidWorks......
  17. 【今日CV 计算机视觉论文速览 第128期】Mon, 10 Jun 2019
  18. 最简单的分压和低频滤波电路
  19. xp系统网上邻居看不到局域网电脑_win10系统网上邻居看不到局域网中其他电脑的处理技巧...
  20. 【校招】【心得】互联网算法岗 / 外企算法岗+开发岗 / 国企券商

热门文章

  1. c语言编译器好玩的代码,读懂这4个函数,528行代码,你也可以实现一个C语言编译器...
  2. 十分钟倒计时flash_Flash 101-第6部分:最终倒计时
  3. java毕业设计成品源码网站基于SpringBoot旅游信息管理系统
  4. flash html 通信,Javascript与flash交互通信基础教程
  5. php smarty 配置,php Smarty详细配置
  6. 暗黑破坏神(DIABLOII 1.11B)BOT 及源代码公开下载
  7. CAD2019安装方法及步骤
  8. 推荐5款精挑细选的软件,大幅提升工作效率,用一次就会爱上
  9. 什么是UKey?Ukey在密评中的应用 双因素身份认证 安当加密
  10. 浅谈易用性测试及GUI常见的测试要求