牛骨文教育服务平台(让学习变的简单)
博文笔记

MySQL中的函数

创建时间:2017-04-22 投稿人: 浏览次数:504
MySQL中的函数

1、创建函数的语法格式如下。

请注意:函数的语法和存储过程的语法的区别,其中函数选项与存储过程选项相同,可以参考上一篇文章。

delimiter $$
create function 函数名(参数1,参数2,…)
returns type
[函数选项]
begin
函数语句块;
end
$$
delimiter ;

例子:
delimiter &&
create function f1(id int)
returns varchar(20)
begin
return (select stuname from student where stuid=id);
end
&&
delimiter ;

select f1(2);

//注意与上面例子的区别,理解变量的使用。
delimiter &&
create function f2(id int)
returns varchar(20)
begin
declare sid int;
set sid=3;
return (select stuname from student where stuid=sid);
end
&&
delimiter ;

select f2(2);

·存储过程与函数之间的区别:
函数必须有且仅有一个返回值,且必须指定返回值数据类型(返回值类型目前仅仅支持字符串、数值类型)。存储过程可以没有返回值,也可以有返回值,甚至可以有多个返回值,所有的返回值需要使用out或者inout参数定义。 

函数体内可以使用select…into语句为某个变量赋值

函数是可以嵌入在sql中使用的,可以在select中调用,而存储过程要让sql的query 可以执行

声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。