广告
返回顶部
首页 > 资讯 > 数据库 >存储函数(一)—— 创建存储函数
  • 299
分享到

存储函数(一)—— 创建存储函数

存储函数(一)——创建存储函数 2017-05-05 14:05:39 299人浏览 无得
摘要

之前,我们列举不少Mysql自带的函数,但是有些时候自带函数并不能很好满足我们的需求,此时就需要自定义存储函数了,存储函数与存储过程有些类似,简单来说就是封装一段sql代码,完成一种特定的功能,并返回结果。其语法如下: CREATE FUN

存储函数(一)—— 创建存储函数

之前,我们列举不少Mysql自带的函数,但是有些时候自带函数并不能很好满足我们的需求,此时就需要自定义存储函数了,存储函数与存储过程有些类似,简单来说就是封装一段sql代码,完成一种特定的功能,并返回结果。其语法如下:

CREATE FUNCTioN 函数([参数类型 数据类型[,….]]) RETURNS 返回类型

  BEGIN

     SQL语句.....

    RETURN (返回的数据)

  END

与存储过程不同的是,存储函数中不能指定输出参数(OUT)和输入输出参数(INOUT)类型。存储函数只能指定输入类型而且不能带IN。同时存储函数可以通过RETURN命令将处理的结果返回给调用方。注意必须在参数列表后的RETURNS( 该值的RETURNS多个S,务必留意)命令中预先指定返回值的类型。如下创建一个计算斐波那契数列的函数

这里命名存储函数时使用了【fn_】作为开头,这样可以更容易区分与【sp_】开头的存储过程,从上述语句可以看出前面在存储过程分析的流程语句也是可以用于存储函数的,同样的,DECLARE声明变量和SET设置变量也可用于存储函数,当然包括定义异常处理语句也是适应的,请注意执行存储函数使用的是select关键字,可同时执行多个存储函数,嗯,存储函数就这样定义,是不是跟存储过程很相似呢?但还是有区别的,这点留到后面分析。ok~,为了进一步熟悉存储函数,下面编写一个用于向user插入用户的存储函数:

create function fn_get_bom_child(pid VARCHAR(10))

returns varchar(4000)

BEGIN

DECLARE temp VARCHAR(10000);

DECLARE tempChild VARCHAR(4000);

SET temp = "";

SET tempChild = pid;

WHILE tempChild IS NOT NULL

DO

SET temp = CONCAT(temp,",",tempChild);

SELECT GROUP_CONCAT(comp_material_id) into tempChild from t_bom_info where FIND_IN_SET(parent_material_id,tempChild);

END WHILE;

RETURN temp;

END

select * from t_bom_info where FIND_IN_SET(parent_material_id,fn_get_bom_child("K00123"))

本文来源于:宋文超super,专属平台有csdn、云海天(SegmentFault)、 简书、 开源中国(oschina),转载请注明出处。

您可能感兴趣的文档:

--结束END--

本文标题: 存储函数(一)—— 创建存储函数

本文链接: https://www.lsjlt.com/news/7535.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 存储函数(一)—— 创建存储函数
    之前,我们列举不少mysql自带的函数,但是有些时候自带函数并不能很好满足我们的需求,此时就需要自定义存储函数了,存储函数与存储过程有些类似,简单来说就是封装一段sql代码,完成一种特定的功能,并返回结果。其语法如下: CREATE FUN...
    99+
    2017-05-05
    存储函数(一)—— 创建存储函数
  • 创建存储函数、删除存储函数及 存储函数与存储过程的区别
    之前,我们列举不少mysql自带的函数,但是有些时候自带函数并不能很好满足我们的需求,此时就需要自定义存储函数了,存储函数与存储过程有些类似,简单来说就是封装一段sql代码,完成一种特定的功能,并返回结果。其语法如下: CREATE FUN...
    99+
    2022-02-07
    创建存储函数 删除存储函数及 存储函数与存储过程的区别
  • mysql如何创建存储函数
    这篇文章给大家分享的是有关mysql如何创建存储函数的内容。小编觉得挺实用的,因此分享给大家做个参考。一起跟随小编过来看看吧。           ...
    99+
    2022-10-18
  • Oracle中怎么创建存储过程和存储函数
    本篇文章为大家展示了Oracle中怎么创建存储过程和存储函数,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。select * from emp;------...
    99+
    2022-10-18
  • MySQL 5.5 创建存储过程和函数
    执行CREATE PROCEDURE和CREATE FUNCTION语句需要CREATE ROUTINE权限。 查看neo用户现有权限 授权 mysql> grant create routin...
    99+
    2022-10-18
  • MySQL存储过程和函数怎么创建
    这篇文章主要介绍“MySQL存储过程和函数怎么创建”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“MySQL存储过程和函数怎么创建”文章能帮助大家解决问题。1.0  创建存储过程和函数创建存...
    99+
    2023-06-30
  • mysql创建存储过程及函数详解
    目录1. 存储过程1.1. 基本语法1.2 创建一个指定执行权限的存储过程1.3 DELIMITER 的使用2. 创建函数 1. 存储过程 1.1. 基本语法 create pr...
    99+
    2022-11-12
  • mysql如何创建存储过程及函数
    这篇文章主要为大家展示了“mysql如何创建存储过程及函数”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“mysql如何创建存储过程及函数”这篇文章吧。1. 存储过程1.1. 基本语法create...
    99+
    2023-06-21
  • 了解 Go 存储函数,掌握 Laravel 中存储函数的秘诀。
    Go 存储函数是一种用于在数据库中执行特定操作并返回结果的函数。它们在处理大量数据时非常有用,可以提高性能和减少数据库负载。Laravel 是一个流行的 PHP 框架,它提供了许多便捷的方法来处理数据库操作,其中包括存储函数。本文将介绍 G...
    99+
    2023-11-08
    存储 laravel 函数
  • 浅谈MYSQL存储过程和存储函数
    目录1. 什么是存储过程和存储函数?2. 创建存储过程3. 创建存储函数4. 存储过程和存储函数的使用5. 带有if语句的存储过程6. 带有循环语句的存储过程7. 带有事务的存储过程8. 带有游标的存储函数9. 存储过程...
    99+
    2023-05-05
    MYSQL存储过程 MYSQL 存储函数
  • 如何使用Go函数在存储中创建索引?
    在现代软件开发中,存储是一个非常重要的组件。存储通常是应用程序的瓶颈之一,因此优化存储是非常重要的。在处理大量数据时,创建索引是一个重要的优化策略。在本文中,我们将探讨如何使用Go函数在存储中创建索引。 为什么需要索引? 在存储中创建索引的...
    99+
    2023-07-05
    函数 存储 索引
  • Mysql 创建存储过程和函数及各种例子
    Mysql 创建存储过程和函数及各种例子 1. Mysql 创建存储过程1.1 前言知识1.1.1 语法结构1.1.2 简单解释 1.2 创建存储过程入门例子1.2.1 无参存储过程1.2.1.1 不带变量1.2.1.2 带变...
    99+
    2023-08-21
    MySQL MySQL存储过程
  • Oracle系列:(29)存储过程和存储函数
    1、存储过程【procedure】什么是存储过程?事先运用oracle语法写好的一段具有业务功能的程序片段,长期保存在oracle服务器中,供oracle客户端(例如,sqlplus)和程序语言远程访问,类...
    99+
    2022-10-18
  • 细谈Mysql的存储过程和存储函数
    1 存储过程 1.1 什么是存储过程 存储过程是一组为了完成某项特定功能的sql语句集,其实质上就是一段存储在数据库中的代码,他可以由声明式的sql语句(如CREATE,UPDATE,SELECT等语句...
    99+
    2022-10-18
  • 关于MySQL的存储过程与存储函数
    目录初识存储过程存储过程语法存储过程调用存储函数的使用语法函数的调用对比存储函数和存储过程初识存储过程 理解:含义: 存储过程(Stored Procedure)是在大型数据库系统中...
    99+
    2023-05-19
    MySQL存储过程 MySQL存储函数
  • MyBatis如何调用存储过程与存储函数
    目录1、MyBatis调用存储过程2、MyBatis调用存储函数1、MyBatis调用存储过程 MyBatis支持使用存储过程的配置。当使用存储过程时,需要设置一个参数“mode”,...
    99+
    2022-11-12
  • mysql存储过程与存储函数实例分析
    这篇文章主要介绍了mysql存储过程与存储函数实例分析的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇mysql存储过程与存储函数实例分析文章都会有所收获,下面我们一起来看看吧。...
    99+
    2022-11-30
    mysql
  • oracle中存储函数与存储过程的示例
    这篇文章主要介绍了oracle中存储函数与存储过程的示例,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。一:存储过程:简单来说就是有名字的pl...
    99+
    2022-10-18
  • 存储过程和函数 oracle
    declare begin   dbms_output.put_line("Hello World"); end; declare   i number := 10; begin   if i > 5 then     dbms_ou...
    99+
    2021-01-19
    存储过程和函数 oracle
  • 010—存储过程和函数
    一.对待存储过程和函数的态度 在实际项目中应该尽量少用存储过程和函数,理由如下: 1.移植性差,在MySQL中的存储过程移植到sqlsever上就不一定可以用了。 2.调试麻烦...
    99+
    2022-10-18
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作