一、函数,参考博客:https://www.cnblogs.com/progor/p/8871480.html

/*
函数:函数只会返回一个值,不允许返回一个结果集。函数强调返回值,所以不允许返回多个值的情况,即使是查询语句。多个入参之间使用逗号分隔。
注意事项:在函数中,如果查询的表中字段与参数名相同,需要给字段名前面加上别名,不然在识别的时候有问题,程序不会报错,但查询结果有问题。
*/
drop function if exists myf;
create function myf(region_code varchar(10)) returns int
begin
declare c int; -- 定义变量,需要将查询结果赋值给变量select xxx into c;
select pm10 from data_region_month t where t.region_code = region_code limit 1 into c;
return c;
end;
select myf('411025');
select myf(region_code) from data_region_month;

二、存储过程,参考博客:https://www.cnblogs.com/chushiyaoyue/p/5945974.html

/*
存储过程:共有三种参数类型,IN,OUT,INOUT
IN 输入参数:  表示该参数的值必须在调用存储过程时指定,在存储过程中修改该参数的值不能被返回,为默认值。
OUT 输出参数:  该值可在存储过程内部被改变,并可返回,是里面赋值才有数据。
INOUT 输入输出参数:  调用时指定,并且可被改变和返回。
在存储过程中,有可能会有多个结果产生,说明存储过程不是函数,如果是参数类型为out的这种,需要显示out结果的话,需要在存储过程执行完成后,select out_paramName来显示结果;
比如在存储过程中有多个select 查询语句,就会有多个结果集在存储过程执行后产生;
*/
-- 结束符修改,测试了一下,不用修改结束符也可以识别
delimiter //
drop procedure if exists proc1 //
create procedure proc1(out s int)
begin
select count(*) into s from data_region_month;
select distinct point_code,point_name from data_point_month;
select * from data_region_month;
end //
-- 改回默认结束符,测试了一下,不用修改结束符也可以识别,如果不修改的话,在上面一句的结束用分号结束
delimiter ; set @p_out=0;
set @p_out=1;
call proc1(@p_out);
select @p_out; -- 如果需要在存储过程中使用游标,可以参考:https://blog.csdn.net/zhaofuqiangmycomm/article/details/88651446

MySQL函数与存储过程的更多相关文章

  1. MySQL函数及存储过程

    MySQL函数及存储过程 参考文章:https://www.cnblogs.com/wupeiqi/articles/5713323.html 1.函数 1.1内置函数 官方文档:https://de ...

  2. mysql(函数,存储过程,事务,索引)

    函数 MySQL中提供了许多内置函数: 内置函数 一.数学函数 ROUND(x,y) 返回参数x的四舍五入的有y位小数的值 RAND() 返回0到1内的随机值,可以通过提供一个参数(种子)使RAND( ...

  3. mysql 函数和存储过程的区别

    >一般来说,存储过程实现的功能要复杂一点,而函数的实现的功能针对性比较强.存储过程,功能强大,可以执行包括修改表等一系列数据库操作:用户定义函数不能用于执行一组修改全局数据库状态的操作. > ...

  4. Mysql导出函数、存储过程

    下面是导出存储过程的代码 1 # mysqldump -u 数据库用户名 -p -n -t -d -R 数据库名 > 文件名 其中,-d 表示--no-create-db, -n表示--no-d ...

  5. 存储过程/游标/mysql 函数

    存储过程和函数(存储在 mysql数据库中的 proc表,所以检查有没有这个表)存储过程是一种存储程序(如正规语言里的子程序一样),mysql支持有两种:存储过程,在其他SQL语句中可以返回值的函数( ...

  6. mysql创建自定义函数与存储过程

    mysql创建自定义函数与存储过程 一 创建自定义函数 在使用mysql的过程中,mysql自带的函数可能不能完成我们的业务需求,这时就需要自定义函数,例如笔者在开发过程中遇到下面这个问题 mysql ...

  7. [转]mysql 导入导出数据库以及函数、存储过程的介绍

    本篇文章是对mysql中的导入导出数据库命令以及函数.存储过程进行了详细的分析介绍,需要的朋友参考下: mysql常用导出数据命令:1.mysql导出整个数据库  mysqldump -hhostna ...

  8. mysql中的函数与存储过程

    mysql中的函数:1 mysql下创建函数: 1.1 语法: delimiter $$ -- 设置分隔符,默认是; 设置成其他符号,让编译器知道我们函数编写的结束,此处设置成$$ create fu ...

  9. MySQL自定义函数与存储过程

    1.前置条件 MySQL数据库中存在表user_info,其结构和数据如下: mysql> desc user_info; +-----------+----------+------+---- ...

随机推荐

  1. ubuntu服务器dns重启失效问题

    方法一 通过/etc/network/interfaces,在它的最后增加一句: dns-nameservers 8.8.8.8 8.8.8.8是Google提供的DNS服务,这里只是举一个例子,你也 ...

  2. python + selenium 搭建环境步骤

    介绍在windows下,selenium python的安装以及配置.1.首先要下载必要的安装工具. 下载python,我安装的python3.0版本,根据你自己的需要安装 下载setuptools ...

  3. SQL SERVER数据库内 FOR XML PATH 函数用法

    把自己点点滴滴的学习记录下来!!!! 一.FOR XML PATH 简单介绍 那么还是首先来介绍一下FOR XML PATH ,假设现在有一张兴趣爱好表(TBJTXXCE)用来存放就诊患者信息,表结构 ...

  4. mysql学习笔记1(mysql的基本架构)

    mysql基本架构图 如图所示: 1 . MySQL 可以分为 Server 层和存储引擎层两部分 Server 层包括连接器.查询缓存.分析器.优化器.执行器等,涵盖 MySQL 的大多数核心服务功 ...

  5. Contest 985

    A 均移到黑色或白色即可. 时间复杂度 \(O\left(n\log n\right)\). B 枚举每种开关判断是否有灯只能靠该种开关控制. 时间复杂度 \(O\left(nm\right)\). ...

  6. 【数据结构模版】可持久化线段树 && 主席树

    浙江集训Day4,从早8:00懵B到晚21:00,只搞懂了可持久化线段树以及主席树的板子.今天只能记个大概,以后详细完善讲解. 可持久化线段树指的是一种基于线段树的可回溯历史状态的数据结构.我们想要保 ...

  7. Apache Hudi初学者指南

    在深入研究Hudi机制之前,让我们首先了解Hudi正在解决的问题. 客户在使用数据湖时通常会问一个问题:当源记录被更新时,如何更新数据湖?这是一个很难解决的问题,因为一旦你写了CSV或Parquet文 ...

  8. C语言讲义——运算符(operator)

    运算符(operator) 算数运算符 7种 关系运算符 6种 逻辑运算符 3种 位运算符 6种 赋值运算符 11种 共5类33种 算术运算符 加 + 减 - 乘 * 除 / 取余 % (仅限于整数类 ...

  9. 企业安全06-Fastjson-CNVD-2017-02833

    Fastjson-CNVD-2017-02833 一.漏洞概述 fastjson在解析json的过程中,支持使用@type字段来指定反序列化的类型,并调用该类的set/get方法来访问属性,当组件开启 ...

  10. 【mq读书笔记】Index索引文件

    1.IndexHeader头部,40字节,记录IndexFile的统计信息: begainTimestamp:该索引文件中包含消息的最小存储时间 endTimestamp:该索引文件中包含消息的最大存 ...