精华内容
下载资源
问答
  • 创建存储函数

    千次阅读 2016-06-19 11:28:22
    创建存储函数

    创建存储函数

    CREATE FUNCTION sp_name ( [func_parameter[,...]] )
    RETURNS type
    [ characteristic... ] routine_body
    sp_name 参数是存储函数的名称;func_parameter 表示存储函数的参数列表;RETURNS type 指定返回值的
    类型;characteristic 参数指定存储过程的特性,该参数的取值与存储过程中的取值是一样的;routine_body 参数
    是 SQL 代码的内容,可以用 BEGIN...END 来标志 SQL 代码的开始和结束;
    func_parameter 可以由多个参数组成,其中每个参数由参数名称和参数类型组成,其形式如下:
    param_name type 其中,param_name 参数是存储函数的参数名称;type 参数指定存储函数的参数类型,
    该类型可以是 MySQL 数据库的任意数据类型;

    eg:

    DELIMITER &&
    CREATE FUNCTION fun_bok (bookId INT)
    RETURNS VARCHAR(20)
    BEGIN
    RETURN (SELECT bookName FROM t_book WHERE id=bookId);
    END
    &&
    DELIMITER ;

    SELECT func_book(1);

    展开全文
  • 之前,我们列举不少mysql自带的函数,但是有些时候自带函数并不能很好满足我们的需求,此时就需要自定义存储函数了,存储函数与存储过程有些类似,简单来说就是封装一段sql代码,完成一种特定的功能,并返回结果。...
     
    之前,我们列举不少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'))
     
    展开全文
  • MySQL基础-怎么创建存储函数

    千次阅读 2019-05-05 12:50:25
    存储函数是由SQL语句和过程式语句所组成的代码片段,它可以被应用程序和其他SQL语句所调用,在MySQL中可以通过CREATE FUNCTION语句来创建存储函数 存储函数就是返回单个值的特殊类型的存储程序,接下来将在文章中为...

    存储函数是由SQL语句和过程式语句所组成的代码片段,它可以被应用程序和其他SQL语句所调用,在MySQL中可以通过CREATE FUNCTION语句来创建存储函数
    存储函数就是返回单个值的特殊类型的存储程序,接下来将在文章中为大家详细介绍如何在MySQL中创建存储函数。
    《MySQL数据库从入门到精通》帮你深入了解MySQL知识,快乐学习,实战就业,多个案例分析讲解,快速掌握。
    在这里插入图片描述

    存储函数
    存储函数与存储过程很相似,都是由SQL语句和过程式语句所组成的代码片段,并且可以被应用程序和其他SQL语句调用。由于存储函数本身就是输出函数,因此它不能拥有输出参数,另外可以不用call语句就可以直接对存储函数进行调用。
    在这里插入图片描述
    存储函数的创建

    语法

    CREATE FUNCTION function_name(param1,param2,…)    
    
    RETURNS datatype   
    
    [NOT] DETERMINISTIC statements
    
    SQL
    

    语法解析:

    CREATE FUNCTION子句后面是指定存储函数的名称

    (param1,param2,…) :表示的是存储函数的所有参数,在默认情况下,所有参数均为IN参数。不能为参数指定IN,OUT或INOUT修饰符。

    RETURNS datatype :表示:返回值的数据类型,它可以是任何有效的MySQL数据类型

    [NOT] DETERMINISTIC:表示结果是不确定的,相同的输入可能得到不同的输出。如果没有指定任意一个值,默认为[NOT] DETERMINISTIC

    SQL:程序主体

    例:创建一个名为demo的存储函数,该函数返回 SELECT 语句的查询结果,数值类型为字符串型。代码如下:

    mysql> DELIMITER  //
    
    mysql> CREATE  FUNCTION  demo()
    
        -> RETURNS  CHAR(50)
    
        -> RETURN  (  SELECT  s_name  FROM  suppliers  WHERE  s_call='48075');
    
        -> //
    
    Query OK, 0 rows affected (0.11 sec)
    
    mysql> DELIMITER  ;
    

    关注公众号:千问千知,了解MySQL技术文章。
    在这里插入图片描述

    展开全文
  • 上一节我们说了这个存储过程,这一节我们说一下这个存储函数,看清楚了啊,是函数!!! ...存储函数创建 存储过程的创建也和这个存储过程类似,但是用的关键字不一样,存储过程用的是 PROCEDUR

    上一节我们说了这个存储过程,这一节我们说一下这个存储函数,看清楚了啊,是函数!!!

    存储函数

    我们先来认识一下存储函数

    很好啊,百科也不行了,我来说吧

    这个存储函数和这个存储过程很类似,有那些类似的地方呢?不要急,下文我会去介绍这俩的区别的。

    存储函数,说白了就是一个函数,好比我们Java中的一个类中的方法,有传入参数,有输出参数等等。

    大概知道一下存储函数,我们接下来说说如何去使用。

    存储函数的创建

    存储过程的创建也和这个存储过程类似,但是用的关键字不一样,存储过程用的是 PROCEDURE ,存储函数是用的 FUNCTION,然后我给出创建存储函数的命令

    CREATE FUNCTION 存储函数的名字(参数1, 参数2...)
        RETURNS 数据类型
        特性
        执行的SQL...
        执行的SQL...
        RETURN xxx
    

    嗯,就这么多,我们可以看到啊,这里多了一个这个 RETURNS 这么个关键词,这个是指返回值类型

    再来说这个特性,这个特性和这个存储过程的特性一样哦,不知道的可以看我存储过程:胖子胖子大胖子_存储过程

    除去这个RETURNS ,传入的参数也结构不一样了,没有存储过程的那个 IN、OUT、INOUT了,因为我们已经有RETURNS了,所以不需要这些东西了。

    知道了创建的方法,我们来使用一下

    是不是,一个很简单的存储函数就写好了,然后我们再来说说如何调用

    存储函数的调用

    这个存储函数的调用就和我们的存储过程的调用就不一样了,存储过程调用,我们使用的是关键字 CALL,而我们存储函数的调用是使用的 SELECT,然后后面跟上这个存储函数的名字,具体方法如下

    SELECT 存储函数的名字(参数1, 参数2...);

    很好啊,知道了以后,我们来调用一下这个存储函数

    是不是很OK,同样也可以使用别名哦~

    存储函数的删除

    删除的话是真的和这个存储过程差不多,命令如下

    DROP FUNCTION 存储函数的名字

    就是把 PROCEDURE 换成了 FUNCTION 而已,我们使用一下

     

    存储过程和存储函数的区别

    最后我们来说说区别,算了,这个扔到下一讲。

     

    大家好好练习一下,有问题可以直接加我QQ : 2100363119

     

    展开全文
  • 在mysql中创建存储过程与函数

    千次阅读 2018-12-21 17:14:14
    1、创建存储过程和函数  存储过程是一条或者多条SQL语句的集合,相当于批处理文件,但是作用不仅仅限于批处理。使用存储过程将简化操作,减少冗余的步骤,同时还可减少操作过程的失误,提高效率。 (1)创建存储...
  • 练习7:创建存储过程和函数

    千次阅读 2019-09-02 17:49:24
    案例:创建一个名称为sch的数据表,表结构如表1所示,将表2中的数据插入sch表中。 字段名 数据类型 主键 外键 非空 唯一 自增 id int(10) 是 否 是 是 否 name varchar(50) 否 否 是 否 否 glass ...
  • root登录后,执行以下命令: GRANT SUPER ON *.* TO 'public'@'%'; flush privileges;
  • MySQL存储过程和函数过程和函数,它们被编译后保存在数据库中,称为持久性存储模块(Persistent Stored Module,PSM),可以反复调用,运行速度快。1.1 存储过程存储过程是由过程化 SQL 语句书写的过程,这个过程经...
  • 一、Oracle创建存储过程  1、基本语法 create or replace procedure update_emp_sal (Name in out type,  Name in out type, ... ) is begin end update_emp_sal; 2、写一个简单的例子修改emp表...
  • 1 MySQL存储过程和函数 过程和函数,它们被编译后保存在数据库中,称为持久性存储模块(Persistent Stored Module,PSM),可以反复调用,运行速度快。 1.1 存储过程 存储过程是由过程化 SQL 语句书写
  • 存储过程,存储函数(Oracle)存储过程和存储函数指存储在数据库中供所有用户程序调用的子程序... 存储过程1、创建存储过程用create procedure命令简历存储过程。语法:create [or replace] procedure 过程名(参数列...
  • 37、MySQL-创建存储过程和函数

    千次阅读 2015-03-10 12:20:19
    一、存储过程简介 我们常用的操作数据库语言SQL语句在执行的时候需要要先编译,然后执行,而存储过程...一个存储过程是一个可编程的函数,它在数据库中创建并保存。它可以有SQL语句和一些特殊的控制结构
  • Oracle数据库存储过程和存储函数

    千次阅读 多人点赞 2013-04-13 22:22:04
    存储过程和存储函数    指存储在数据库中供所有用户程序调用的子程序叫存储... 用CREATE PROCEDURE命令建立存储过程和存储函数。    语法: create [or replace] PROCEDURE过程名(参数列表)  AS  PL
  • oracle存储过程存储函数总结

    千次阅读 2018-01-07 10:20:02
    PL/SQL语法 存储过程 存储函数 触发器
  • PL/SQL存储函数,存储过程

    千次阅读 2016-10-30 17:04:05
    存储过程和存储函数 存储过程和存储函数跟我们知道的表、视图、索引、序列、同义词等一样是我们数据中的对象。 笔记教程见:https://github.com/caojx-git/learn/blob/master/notes/oracle/PLSQL.sql 1.1什么是...
  • mysql创建自定义函数存储过程

    万次阅读 2012-12-26 19:55:42
    创建自定义函数 在使用mysql的过程中,mysql自带的函数可能不能完成我们的业务需求,这时就需要自定义函数,例如笔者在开发过程中遇到下面这个问题: mysql表结构如下 DROP TABLE IF EXISTS `test`; CREATE ...
  • mysql存储过程和存储函数练习题

    千次阅读 2020-05-28 09:12:28
    课 序 授课日期 授课班次 授课教师 批准人 5 课题 实验五 存储过程和存储函数 目的要求 1. 掌握通过SQL语句CREATE ...5. 掌握使用CREATE FUNCTION创建存储函数的方法。 6. 掌握使用SQL语句ALTER FUNCTION修
  • 数据库存储过程与存储函数

    千次阅读 2018-12-09 18:49:14
    1. 存储过程、存储函数概念  存储过程是一组为了完成特定功能的SQL语句集,经过编译后存储在数据库中,用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它,叫做存储过程、存储函数。 2. ...
  • 之前提到过好多次存储函数,这次咱们就来具体看下。它呢,是返回单个值的特殊类型的存储程序。我们通常使用存储的函数来封装在SQL...我们来看下创建存储函数的最简单语法:CREATE FUNCTION function_name(param1,...
  • PL/SQL程序之存储过程和存储函数

    千次阅读 2012-03-21 18:30:53
    用CREATE PROCEDURE命令建立存储过程和存储函数。 语法: create [or replace] PROCEDURE 过程名(参数列表) AS PLSQL子程序体; 注:存储过程一般用于高度安全的系统中 例一:为所有员工涨10%的工资 创建存储过程...
  • 存储过程和存储函数 存储在数据库中供所有用户程序调用的子程序叫做存储过程,存储函数.区别:是否可以通过return返回函数值.存储函数可以通过return返回函数值,而存储过程不可以.由于通过out参数,存储过程也可以返回...
  • 1.打开SQLyog在目录树-函数(存储过程)文件夹上右键,创建函数创建存储过程) 2.按照MySQL定义函数的规则,新定义一个函数:   3. 然后新建查询编辑器,调用自定义的函数命令:SELECT function_name...
  • 存储在数据库中供所有用户程序调用的子程序叫存储过程、存储函数。 二者相同点:完成特定功能的程序 ... 用create procedure命令建立存储过程和存储函数  语法:create [or replace] procedure 过程名(参数列表)
  • MySQL心得7-2-存储函数、触发器

    千次阅读 2012-06-13 09:04:11
    创建函数: 1. 存储函数也是过程式对象之一,与存储过程很相似。 它们都是由SQL和过程式语句组成的代码片断,并且可以从应用程序和SQL中调用。然而,它们也有一些区别: ...2.创建存储函数使用
  • 数据库创建存储过程

    千次阅读 2017-12-18 22:35:00
    创建存储过程类似于python中创建函数,可传参。 一.在Mysql-front创建过程(创建过程生成的代码在对象编辑器,执行过程在SQL编辑器) 二.在终端输入命令创建存储过程 1.无参 创建过程delimiter /...
  • 当一个大型系统在建立时,会发现,很多的SQL操作是有重叠的,个别计算是相同的,比如:业务系统中,计算一张工单的计算方式。当遇到这些情况时,我们运用存储过程就是...(3)存储函数概述;(4)存储函数使用、优化。
  • mysql数据库存储过程和存储函数

    千次阅读 2021-02-02 17:34:32
    武林秘籍之存储过程和函数 简介:醉心于武术的小白在扔垃圾的时候,意外发现垃圾桶旁边散落着两本书籍,心里泛起一种莫名的躁动,像是受到某种古老的神秘力量的召唤,眼看四下无人一把塞进怀里跑回家。 ...
  • MYSQL中创建存储过程和函数分别使用CREATE PROCEDURE和CREATE FUNCTION 使用CALL语句来调用存储过程,存储过程也可以调用其他存储过程 函数可以从语句外调用,能返回标量值 创建存储过程 语法 CREATE PROCEDURE sp...
  • MCI函数命令

    千次阅读 2013-03-14 18:37:41
    MCI函数命令 http://blog.csdn.net/badu_123/article/details/5618755 2010-05-23 22:38 1190人阅读 评论(4) 收藏 举报 nullavimicrosoftparameters存储struct MCI函数命令 Microsoft提供的...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 323,868
精华内容 129,547
热门标签
关键字:

创建存储函数的命令是