精华内容
下载资源
问答
  • mysql中存储过程和函数区别

    千次阅读 2018-05-23 18:11:25
    概述1)一般来说,存储过程实现的功能要复杂一点,而函数的实现的功能针对性比较强。存储过程,功能强大,可以执行包括修改表等一系列数据库操作;用户定义函数不能用于执行一组修改全局数据库状态的操作。2)对于...

    概述

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


    2)对于存储过程来说可以返回参数,如记录集,而函数只能返回值或者表对象。函数只能返回一个变量;而存储过程可以返回多个。存储过程的参数可以有IN,OUT,INOUT三种类型,而函数只能有IN类~~存储过程声明时不需要返回类型,而函数声明时需要描述返回类型,且函数体中必须包含一个有效的RETURN语句。


    3)存储过程,可以使用非确定函数,不允许在用户定义函数主体中内置非确定函数。


    4)存储过程一般是作为一个独立的部分来执行( EXECUTE 语句执行),而函数可以作为查询语句的一个部分来调用(SELECT调用),由于函数可以返回一个表对象,因此它可以在查询语句中位于FROM关键字的后面。 SQL语句中不可用存储过程,而可以使用函数。


    1.创建存储过程和函数语法

    CREATE PROCEDURE sp_name ([proc_parameter[,...]])
        [characteristic ...] routine_body
     
    CREATE FUNCTION sp_name ([func_parameter[,...]])
        RETURNS type
        [characteristic ...] routine_body
        
        proc_parameter:
        [ IN | OUT | INOUT ] param_name type
        
        func_parameter:
        param_name type
     
    type:
        Any valid MySQL data type
     
    

    2.修改存储过程函数语法

    ALTER {PROCEDURE | FUNCTION} sp_name [characteristic ...]
     
    characteristic:
        { CONTAINS SQL | NO SQL | READS SQL DATA | MODIFIES SQL DATA }
      | SQL SECURITY { DEFINER | INVOKER }
      | COMMENT 'string'
    


    3.删除存储过程函数语法

    DROP {PROCEDURE | FUNCTION} [IF EXISTS] sp_name


    4.查看存储过程和函数


    1.查看存储过程状态
    
    SHOW {PROCEDURE | FUNCTION} STATUS [LIKE 'pattern']
    show procedure status like 'Pro_Employee' \G
    2.查看存储过程和函数的创建语法
    SHOW CREATE {PROCEDURE | FUNCTION} sp_name
    
    SHOW CREATE PROCEDURE Pro_Employee \G;
    3.查看存储过程和函数详细信息
    SELECT * FROM information_schema.ROUTINES WHERE ROUTINE_NAME='Pro_Employee' \G;
    




    展开全文
  • 存储过程和函数区别

    千次阅读 2018-07-11 15:26:07
    但是存储过程需要让sql的query可以执行,将mysql_real_connect的最后一个参数设置为CLIENT_MULTI_STATEMENTS函数的限制比较多,不能用临时表,只能用表变量,有些函数不能用,存储过程限制少存储过程处理的功能比较...

    函数只能返回一个变量,而存储过程可以返回多个;

    函数可以嵌入sql中和存储过程中使用,但是存储过程需要让sql的query可以执行,将mysql_real_connect的最后一个参数设置为CLIENT_MULTI_STATEMENTS

    函数的限制比较多,不能用临时表,只能用表变量,有些函数不能用,存储过程限制少

    存储过程处理的功能比较复杂,而函数实现的功能针对性强,

    存储过程可以执行修改表的操作,但是函数不能执行一组修改全局数据库状态的操作

    存储过程可以返回参数,如记录集,函数只能返回值或者表对象。存储过程的参数有in,out,inout三种,函数只有in,存储过程声明时不需要返回类型,而函数需要描述返回类型,且函数中必须包含一个有效的return语句

    存储过程一般是作为独立部分来执行,而函数可以作为查询语句的一个部分来调用,由于函数可以返回一个表对象,所以在查询中位于from关键字后面,sql语句中不可以含有存储过程


    展开全文
  • Mysql存储过程和函数区别介绍

    千次阅读 2019-03-02 15:42:46
    存储存储过程 是一段代码(过程),存储在数据库中的SQL组成。一个存储过程通常用于完成一段业务逻辑,例如报名,...存储过程和函数都是属于某个数据库。 存储 创建无参存储过程: delimiter $$ CREATE PROCEDURE sho...

    存储存储过程 是一段代码(过程),存储在数据库中的SQL组成。一个存储过程通常用于完成一段业务逻辑,例如报名,交班费,订单入库等。
    而一个函数通常专注与某个功能,视为其他程序服务的,需要在其他语句中调用函数才可以,而存储过程不能被其他调用,是自己执行 通过call执行。
    存储过程和函数都是属于某个数据库。

    存储

    创建无参存储过程:

    delimiter $$
    CREATE PROCEDURE showTime()
    	BEGIN
    	SELECT now();
    	END$$
    delimiter ;
    CALL showTime;
    
    USE test;
    DELIMITER $$
    
    DROP FUNCTION IF EXISTS func4 $$
    CREATE FUNCTION func4() RETURNS INT
    BEGIN
      #DECLARE var_name[,...] type [DEFAULT value]   #这个语句被用来声明局部变量。要给变量提供一个默认值,请包含一个DEFAULT子句。值可以被指定为一个表达式,不需要为一个常数。如果没有DEFAULT子句,初始值为NULL。 
      #使用 set 和 select into语句为变量赋值。
       #全局变量
      SET @i=0;
      SET @sum=0;
      #如果需要在循环内提前终止 while循环,则需要使用标签;标签需要成对出现。
      w:WHILE @i<=10 DO
    	IF @i=5 THEN
    		SET @i=@i+1;
    		-- leave w;
    		ITERATE w;
    	END IF;
    	SET @sum=@sum+@i;
    	SET @i=@i+1;
      END WHILE w;
      RETURN @sum;
    END
    $$
    DELIMITER ;
    
    SELECT func4();
    

    存储过程和函数存在以下几个区别:

    1)一般来说,存储过程实现的功能要复杂一点,而函数实现的功能针对性比较强。
    2)函数只能返回一个变量;而存储过程可以返回多个。存储过程的参数可以有IN,OUT,INOUT三种类型,而函数只能有IN类。存储过程声明时不需要返回类型,而函数声明时需要描述返回类型,且函数体中必须包含一个有效的RETURN语句。
    3)存储过程一般是作为一个独立的部分来执行( EXECUTE 语句执行),而函数可以作为sql语句的一个部分来调用。

    存储过程存在的必要性(好处):

    存储过程说白了就是把经常使用的SQL语句或业务逻辑封装起来,预编译保存在数据库中,当需要的时候从数据库中直接调用,省去了编译的过程.
    提高了运行速度; 同时降低网络数据传输量(你觉得传一堆SQL代码快,还是传一个存储过程名字和几个参数快???)

    Mysql存储过程和函数区别介绍
    https://www.cnblogs.com/lucky-man/p/6124475.html
    非典型性程序员
    https://www.cnblogs.com/caoruiy/p/4486249.html

    展开全文
  • 存储过程和存储函数区别

    千次阅读 2018-09-09 12:46:33
    存储过程和存储函数区别 语法区别:关键字不一样, 存储函数存储过程多了两个return。 本质区别:存储函数有返回值,而存储过程没有返回值。 如果存储过程想实现有返回值的业务,我们就必须使用out类型的参数...
    • 存储过程和存储函数的区别
    • 语法区别:关键字不一样,
      存储函数比存储过程多了两个return。
    • 本质区别:存储函数有返回值,而存储过程没有返回值。
      如果存储过程想实现有返回值的业务,我们就必须使用out类型的参数。
      即便是存储过程使用了out类型的参数,起本质也不是真的有了返回值,而是在存储过程内部给out类型参数赋值,在执行完毕后,我们直接拿到输出类型参数的值。
    展开全文
  • Mysql 存储过程和函数区别

    万次阅读 2011-08-27 19:49:43
    存储过程是用户定义的一系列sql语句的集合,涉及特定表或其它对象的任务,用户可以调用存储过程,而函数通常是数据库已定义... 存储过程和函数存在以下几个区别:  1)一般来说,存储过程实现的功能要复杂一点,而函
  • 1 MySQL存储过程和函数 过程和函数,它们被编译后保存在数据库中,称为持久性存储模块(Persistent Stored Module,PSM),可以反复调用,运行速度快。 1.1 存储过程 存储过程是由过程化 SQL 语句书写
  • MySQL存储过程和函数区别

    千次阅读 2015-09-19 01:57:09
    MySQL存储过程和函数区别1、存储过程没有返回值,而函数必须有返回值;2、存储过程的参数可以是IN、OUT、INOUT类型,而函数的参数只能是IN类型。
  • oracle中的存储过程和存储函数区别 (尊重劳动成果,转载请注明出处:https://blog.csdn.net/qq_39778516/article/details/84032796 consistencely的博客) 1.存储过程 存储过程(Stored Procedure)是在大型...
  • 本来觉得函数有个返回值,而存储过程没有,这应该是个区别。 但是后来发现,存储过程有个OUT模式参数。那跟返回值不也 一样了吗? 到底什么时候用存储过程什么时候用函数呢?
  • 一、为什么要使用存储过程和函数 存储过程和函数,是用来实现一组关于表操作的SQL语句、可重复地执行操作数据库的集合。 存储过程和函数可以简单的理解为一条或多条SQL语句的集合。存储过程和函数就是事先经过编译并...
  • 存储过程函数区别

    万次阅读 2017-06-15 10:40:11
    存储过程函数区别  本质上没区别,执行的本质都一样。  只是函数有如:只能返回一个变量的限制。而存储过程可以返回多个。   函数是可以嵌入在sql中使用的,可以在select中调用,而存储过程要让sql的...
  • 存储过程和函数具体的区别

    千次阅读 2019-05-30 15:35:43
    存储过程: 可以使得对的管理、以及显示关于及其用户信息的工作容易得多。存储过程是 SQL 语句和可选控制流语句的预编译集合,以一个名称存储并作为一个单元处理。存储过程存储在数据库内,可由应用程序通过一个...
  • MySQL存储过程和函数过程和函数,它们被编译后保存在数据库中,称为持久性存储模块(Persistent Stored Module,PSM),可以反复调用,运行速度快。1.1 存储过程存储过程是由过程化 SQL 语句书写的过程,这个过程经...
  • MySQL存储过程和函数区别与优缺点

    千次阅读 2017-08-10 15:24:00
    什么存储过程和函数存储过程可以简单的理解为一条或者多条sql语句的集合。函数数通常是数据库已定义的方法。存储过程和函数事先进行过编译。存储过程和函数执行不是由程序调用,也不是手动启动。而是由事件触发...
  • mysql手册05_存储过程和存储函数

    万次阅读 2020-08-14 21:34:41
    存储过程和存储函数区别是:存储过程没有返回值。 基本语句: 注:在创建存储过程时,为了避免冲突,需要临时修改语句结束符号: delimiter $ 创建存储过程: delimiter $ create procedure pro_test1() begin ...
  • Oracle中存储过程和函数中ISAS的区别

    万次阅读 多人点赞 2017-02-16 21:50:01
    在Oracle的存储过程和函数中,其实ISAS是同义词,没有什么区别。 还有在自定义类型(TPYE)和包(PACKAGE)时,使用ISAS也并没有什么区别。 但是在创建视图(VIEW)时,只能使用AS而不能使用IS。 在...
  • Mysql存储过程和函数区别

    千次阅读 2013-09-26 13:27:57
    存储过程是用户定义的一系列sql语句... 存储过程和函数存在以下几个区别:  1)一般来说,存储过程实现的功能要复杂一点,而函数的实现的功能针对性比较强。存储过程,功能强大,可以执行包括修改表等一系列数据库操
  • oracle存储过程函数区别

    千次阅读 2018-08-15 09:44:45
    用create procedure命令建立存储过程和存储函数 语法: create [or replace] procedure 过程名(参数列表) as 或 create [or replace] procedure 过程名(参数列表) is 实例:带参数的存储函数 create or ...
  • 存储过程和存储函数的详细区别

    千次阅读 2013-11-17 16:36:09
     存储过程和函数存在以下几个区别:  1)一般来说,存储过程实现的功能要复杂一点,而函数的实现的功能针对性比较强。存储过程,功能强大,可以执行包括修改表等一系列数据库操作;用户定义函数不能用于执行一
  • 1、请写出unionunion all的区别 Union:对两个结果集进行并集操作,不包括重复行,同时进行默认规则的排序; Union All:对两个结果集进行并集操作,包括重复行,不进行排序;unionunion all的区别是,union会...
  • SQL中存储过程和函数区别

    千次阅读 2017-09-17 18:25:29
    函数是可以嵌入在sql中使用的,可以在select中调用,而存储过程不行。执行的本质都一样。   函数限制比较多,比如不能用临时表,只能用表变量.还有一些函数都不可用等等.而存储过程的限制相对就比较少   1....
  • MySQL调用存储过程和函数

    千次阅读 2019-09-01 15:00:27
    存储过程和函数有多种调用方法。存储过程必须使用call语句调用,并且存储过程和数据库相关,如果要执行其他数据库中的存储过程,需要指定数据库名称。例如call dbname.procname。存储函数的调用与MySQL中预定义的...
  • 1,返回值的区别函数有一个返回值,而存储过程是通过参数返回的,可以有多个或者没有。...4,oracle中存储过程和函数都可以返回值,但是函数必须要返回值并且一般返回一个值,而存储过程则没有这个限制。...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 988,665
精华内容 395,466
关键字:

存储过程和函数的区别是什么