一、语法分析
CREATE FUNCTION 函数名(参数名 参数类型,...)
RETURNS 返回值类型
[characteristics ...]
BEGIN
函数体 #函数体中肯定有RETURN 语句
END
- 参数列表:指定参数为IN、OUT或INOUT只对
PROCEDURE
是合法的,FUNCTION
中总是默认为IN参数
- RETURNS type 语句表示函数返回数据的类型
- characteristic 创建函数时指定的对函数的约束。取值与创建存储过程时相同
- 函数体也可以用BEGIN…END来表示SQL代码的开始和结束。如果函数体只有一条语句,也可以省略
BEGIN…END
二、函数调用
SELECT 函数名(实参列表)
三、创建函数
1、创建存储函数,名称为email_by_name(),参数定义为空,该函数查询Abel的email,并返回,数据类型为字符串型
DELIMITER $
CREATE FUNCTION email_by_name(name VARCHAR(25))
RETURNS VARCHAR(25)
DETERMINISTIC
CONTAINS SQL
BEGIN
RETURN (SELECT email FROM emp WHERE last_name = name);
END $
DELIMITER ;
SELECT email_by_name('Ernst');
网友评论