MySQL基础-怎么创建存储函数

存储函数是由SQL语句和过程式语句所组成的代码片段,它可以被应用程序和其他SQL语句所调用,在MySQL中可以通过CREATE FUNCTION语句来创建存储函数
存储函数就是返回单个值的特殊类型的存储程序,接下来将在文章中为大家详细介绍如何在MySQL中创建存储函数。
《MySQL数据库从入门到精通》帮你深入了解MySQL知识,快乐学习,实战就业,多个案例分析讲解,快速掌握。
MySQL基础-怎么创建存储函数

存储函数
存储函数与存储过程很相似,都是由SQL语句和过程式语句所组成的代码片段,并且可以被应用程序和其他SQL语句调用。由于存储函数本身就是输出函数,因此它不能拥有输出参数,另外可以不用call语句就可以直接对存储函数进行调用。
MySQL基础-怎么创建存储函数
存储函数的创建

语法

CREATE FUNCTION function_name(param1,param2,…)    

RETURNS datatype   

[NOT] DETERMINISTIC statements

SQL

语法解析:

CREATE FUNCTION子句后面是指定存储函数的名称

(param1,param2,…) :表示的是存储函数的所有参数,在默认情况下,所有参数均为IN参数。不能为参数指定IN,OUT或INOUT修饰符。

RETURNS datatype :表示:返回值的数据类型,它可以是任何有效的MySQL数据类型

[NOT] DETERMINISTIC:表示结果是不确定的,相同的输入可能得到不同的输出。如果没有指定任意一个值,默认为[NOT] DETERMINISTIC

SQL:程序主体

例:创建一个名为demo的存储函数,该函数返回 SELECT 语句的查询结果,数值类型为字符串型。代码如下:

mysql> DELIMITER  //

mysql> CREATE  FUNCTION  demo()

    -> RETURNS  CHAR(50)

    -> RETURN  (  SELECT  s_name  FROM  suppliers  WHERE  s_call='48075');

    -> //

Query OK, 0 rows affected (0.11 sec)

mysql> DELIMITER  ;

关注公众号:千问千知,了解MySQL技术文章。
MySQL基础-怎么创建存储函数