创新路
我们一直在努力

MySQL学习笔记(73)

在 MySQL 中,使用 CREATE FUNCTION 语句来创建存储函数;

CREATE FUNCTION sp_name ([func_parameter[…]])

RETURNS type

[characteristic …] routine_body

说明:

sp_name 参数:表示存储函数的名称;

func_parameter:表示存储函数的参数列表;

RETURNS type:指定返回值的类型;

characteristic 参数:指定存储函数的特性,该参数的取值与存储过程是一样的;

routine_body 参数:表示 SQL 代码的内容,可以用 BEGIN…END 来标示 SQL 代码的开始和结束。

其中func_parameter 可以由多个参数组成,其中每个参数由参数名称和参数类型组成;

[IN | OUT | INOUT] param_name type;

IN 表示输入参数,OUT 表示输出参数,INOUT 表示既可以输入也可以输出;

param_name 参数是存储函数的参数名称;

type 参数指定存储函数的参数类型,该类型可以是 MySQL 数据库的任意数据类型。


例、使用 CREATE FUNCTION 创建查询某个学生姓名的函数;

image.png

上述操作中,创建了 func_student 函数,该函数拥有一个类型为 INT(11) 的参数 id,返回值为 VARCHAR(20) 类型。SELECT 语句从 tb_student 表中查询 id 字段值等于所传入参数 id 值的记录,同时返回该条记录的 name 字段值。

创建函数与创建存储过程一样,需要通过命令 DELIMITER // 将 SQL 语句的结束符由“;”修改为“//”,最后通过命令 DELIMITER ; 将结束符号修改成 SQL 语句中默认的结束符号。

如果在存储函数中的 RETURN 语句返回一个类型不同于函数的 RETURNS 子句中指定类型的值,返回值将被强制为恰当的类型。比如,如果一个函数返回一个 ENUM 或 SET 值,但是 RETURN 语句返回一个整数,对于 SET 成员集的相应的 ENUM 成员,从函数返回的值是字符串。

未经允许不得转载:天府数据港官方信息博客 » MySQL学习笔记(73)

客官点个赞呗! (0)
分享到:

评论 抢沙发

评论前必须登录!

天府云博 - 做有态度的开发&运维&设计学习分享平台!

联系我们百度云主机