mysql存储函数需要定义吗_Mysql存储过程和函数的区别

展开全部

两个区别如下:

1、函数必须指定返回值,且参32313133353236313431303231363533e59b9ee7ad9431333363376433数默认为IN类型。

2、存储过程没返回值,参数可以是 IN,OUT,IN OUT类型,有的人可能会理解成OUT 也算是返回值。

3、调用方式:函数 select my_fun() ;过程 call my_pro( ) ;

举例:

函数:DELIMITER $$

DROP FUNCTION IF EXISTS my_fun$$

CREATE

FUNCTION my_fun(a INT(2),b INT(2))

RETURNS INT(4)

BEGIN

DECLARE sum_ INT(2) DEFAULT 0;

SET sum_ = a + b;

RETURN sum_;

END$$

DELIMITER ;

存储过程:DELIMITER $$

DROP PROCEDURE IF EXISTS my_pro$$

CREATE

PROCEDURE my_pro(IN a INT(2),IN b INT(2) ,OUT c INT(2))

BEGIN

SET c = a + b;

END$$

DELIMITER ;

函数调用方式:mysql> select my_fun(1,2);

+-------------+

| my_fun(1,2) |

+-------------+

|           3 |

+-------------+

1 row in set (0.00 sec)

存储过程调用方式:mysql> call my_pro(1,2,@c);

Query OK, 0 rows affected (0.00 sec)

mysql> select @c;

+------+

| @c   |

+------+

|    3 |

+------+

1 row in set (0.00 sec)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值