Mysql : 函数

摘要:
3.如果函数体中只有一个句子,可以省略begined。4.使用DELIMITER语句设置结束标记DELIMITER$2。调用语法SELECT函数名(参数列表)来演示该情况。1.返回不带参数CREATE FUNCTIONmyF1()RETURNS INT BEGIN DECLARECINTDEFAULT0的公司员工数量;

函数

存储过程:可以返回有0个值  也可以有多个返回,适合做批量插入 批量更新

函数:有且仅有1个返回 适合做处理数据后返回一个结果

一、创建语法

CREATE FUNCTION 函数名(参数列表 )RETURNS 返回类型

  BEGIN

    函数体

  END

注意:

  1.参数列表  包含两部分:

    参数名 参数类型

  2.函数体:肯定会有return语句 如果没有会报错

  如果return语句没有放在函数体的最后也不会报错  但不建议

  return  值;

  3.函数体中只有一句 则可以省略begin end

  4.使用DELIMITER语句设置结束标记  DELIMITER $

二、调用语法

  SELECT 函数名(参数列表)

案列演示

1、无参 有返回

  返回公司员工个数

  CREATE   FUNCTIONmyF1()   RETURNS  INT 

    BEGIN 

      DECLARE c INT DEFAULT 0;  # 定义局部变量并指定默认值

      SELECT count(*) INTO c # 赋值

      FROM employee;

      RETURN c;

    END $

    SELECT myF1() $

2、有参有返回

  案例:根据员工名返回工资

  CREATE  FUNCTION myF2(empName VARCHAR(20)) RETURNS DOUBLE

    BEGIN

      SET  @sal =0;#定义用户变量

      SELECT salary INTO @sal #赋值

      FROM employee

      WHERE last_name = empNAme

      RETURN @sal;

    END $

    SELECT myF2('king') $

3、根据部门名,返回该部门的平均工资

  CREATE FUNCTION my3(deptName VARCHAR(20)) RETURNS DOUBLE

    BEGIN   

      DECLARE sal DOUBLE;

      SELECT AVG (salary) INTO sal;

      FROM emplocyees  e

      JOIN  department d ON  e.department_id = d.department_id

      WHERE  d.department_name=department;

      return sal;

    END $

    SELECT my3('IT')$

三、查看函数

  SHOW CREATE FUNCTION myF3;      #(函数名)

四、删除函数

DROP FUNCTION myF3;   #(函数名)

  

免责声明:文章转载自《Mysql : 函数》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇跨域问题出现原因和解决方案大数据自学3-Windows客户端DbVisualizer/SQuirreL配置连接hive下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

django之表多对多查询

1 class Boy(models.Model): 2 name = models.CharField(max_length=32) 3 4 class Girl(models.Model): 5 nick = models.CharField(max_length=32) 6 7 class Love(...

Dialog 使用详解

极力推荐文章:欢迎收藏Android 干货分享 阅读五分钟,每日十点,和您一起终身学习,这里是程序员Android 本篇文章主要介绍 Android 开发中的部分知识点,通过阅读本篇文章,您将收获以下内容: 简单对话框 多选按钮对话框 单选按钮对话框 列表对话框 水平进度条对话框 圆形进度条对话框 自定义图文对话框 自定义输入对话框 自定义样式对话...

CLR寄宿(上) MSCOREE.DLL

CLR寄宿(上) MSCOREE.DLL托管代码调用非托管代码,.NET提供了P/Invoke(平台调用)方式,它作为.NET的基础出现在各类书籍和网络资源上,这里不再讨论。那么非托管代码如何去调用托管代码呢?我们知道,一个托管应用程序首先被操作系统启动,然后由操作系统调用CLR来托管该程序。那么.NET框架到底以什么方式让操作系统来认识它并且可以启动它呢...

Python接口自动化(三)post请求四种传送正文方式

HTTP协议规定POST提交的数据必须放在消息主题(entity-body)中,但协议并没有规定数据必须使用什么编码方式。 浏览器行为:Form表单提交 Http协议行为:Http1.1协议   我们知道,HTTP协议是以ASCII码传输,建立在TCP/IP协议之上的应用层规范。规范把HTTP请求分为三个部分:状态行、请求头、消息主体。 <meth...

uni-app——uni-ui的使用

uni-app——uni-ui的使用 0.2882019.06.09 22:53:34字数 186阅读 2602 1)uni-ui 是全端兼容的基于flex布局的ui库;2)可以使用 npm 的安装使用方式,也可下载相关组件直接使用;3)uni-ui 不支持使用 Vue.use() 的方式安装4)uni-ui 依赖 scss,若是 HBuilderX 中创...

调用微信接口,模式二

工具类 HttpUtil: package com.rongzhong.utils.weixin;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.io.OutputStreamWriter;import...