存储函数是一段预先编写好的SQL代码,可以接受输入参数并返回一个值。与存储过程相同,存储函数还可以包含流程控制语句、变量、表达式等。
在创建存储函数之前,需要使用CREATE FUNCTION
语句定义函数名、参数列表和返回值类型。
定义存储函数的名称和传入的参数列表。这些参数在函数调用时被设置为一个给定的值,并可以在函数中使用。
使用RETURNS
关键字指定函数返回的数据类型。
在函数体中编写逻辑代码,可以使用流程控制语句、变量、表达式等来实现自己需要的功能。
在函数体中,我们通常需要使用分号(;
),但分号也是MySQL查询语句的结束标志。为了在函数体中使用分号,我们需要使用DELIMITER
关键字将分隔符更改为其他字符,如“$$”。
使用END
关键字结束函数定义。
使用DELIMITER
语句将分隔符更改回来,以便之后的查询可以正常执行。
以下示例代码创建了一个计算两个整数和的存储函数:
DELIMITER $$ CREATE FUNCTION add_numbers(a INT, b INT) RETURNS INT BEGIN DECLARE sum INT; SET sum = a + b; RETURN sum; END$$ DELIMITER ;
这个函数名为add_numbers
,接受两个整型变量a
和b
作为输入参数,声明了一个名为sum
的整型变量,通过SET
语句将a
和b
相加的结果赋值给sum
,然后使用RETURN
语句返回sum
的值。
通过