加入收藏 | 设为首页 | 会员中心 | 我要投稿 常州站长网 (https://www.0519zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

MySQL存储函数分析

发布时间:2021-05-26 21:57:43 所属栏目:MySql教程 来源:互联网
导读:在 MySQL 中,使用CREATE FUNCTION语句来创建存储函数,其语法形式如下: CREATE FUNCTION sp_name ([func_parameter[...]]) RETURNS type [characteristic ...] routine_body 其中: sp_name 参数:表示存储函数的名称; func_parameter:表示存储函数的参
在 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 代码的开始和结束。


注意:在具体创建函数时,函数名不能与已经存在的函数名重名。除了上述要求外,推荐函数名命名(标识符)为 function_xxx 或者 func_xxx。

func_parameter 可以由多个参数组成,其中每个参数由参数名称和参数类型组成,其形式如下:

[IN | OUT | INOUT] param_name type;

其中:

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

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

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

例 1 使用 CREATE FUNCTION 创建查询 tb_student 表中某个学生姓名的函数,SQL 语句和执行过程如下: mysql> USE test; Database changed mysql> DELIMITER // mysql> CREATE FUNCTION func_student(id INT(11)) -> RETURNS VARCHAR(20) -> COMMENT '查询某个学生的姓名' -> BEGIN -> RETURN(SELECT name FROM tb_student WHERE tb_student.id = id); -> END // Query OK, 0 rows affected (0.10 sec) mysql> DELIMITER ; 上述代码中,创建了 func_student 函数,该函数拥有一个类型为 INT(11) 的参数 id,返回值为 VARCHAR(20) 类型。SELECT 语句从 tb_student 表中查询 id 字段值等于所传入参数 id 值的记录,同时返回该条记录的 name 字段值。

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

(编辑:常州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读