MySQL: 定义方法

MySQL 2019-04-22 已阅 229 次

MySQL中方法和开发语言中的方法不太一样,MySQL中方法必须要有返回值。
MySQL中方法与储存过程很相似,相比有以下不同点:

  • 调用不同,储存过程是用CALL调用,方法是用SELECT调用
  • 方法的参数前不能使用IN,OUT,而储存过程是可以使用的
  • 方法中在BEGINEND之间(方法体)如果用SELECT来查询,必须要有一个变量来接收结果,否则是不允许的,而储存过程没这个限定

示例代码

CREATE FUNCTION `jion_test`(age INT, uname VARCHAR(45), tool VARCHAR(45)) RETURNS varchar(100)
BEGIN
/*
一些代码
*/
RETURN CONCAT(age*2, tool, uname);
END
RETURNS 后面是返回类型, 参数可以没有

调用示例

SELECT jion_test(10, 'MY_NAME', 'MY_TOOL');
# SET @_result = (jion_test(10, 'MY_NAME', 'MY_TOOL'));

本文由 Harvey 创作,采用 知识共享署名 3.0,可自由转载、引用,但需署名作者且注明文章出处。

还不快抢沙发

添加新评论