mysql 存储过程和函数的区别

xiaoxiao2021-02-27  128

1.函数必须指定返回值,且参数默认为IN类型。 2.存储过程没返回值,参数可以是 IN,OUT,IN OUT类型,有的人可能会理解成OUT 也算是返回值。 3.调用方式:函数 select my_fun() ;过程 call my_pro( ) ;

DEMO 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

调用

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) mysql> select my_fun(1,2); +-------------+ | my_fun(1,2) | +-------------+ | 3 | +-------------+ 1 row in set (0.00 sec)
转载请注明原文地址: https://www.6miu.com/read-15810.html

最新回复(0)