自定义函数的创建
基本语法
create function 函数名([参数列表]) returns 数据类型
begin
sql语句;
return 值;
end;
注意事项
- sql函数语句结束符与系统默认结束符冲突,在create函数语句前及end后做以下说明:
-- 声明;;替换系统默认的;为语句结束符
DELIMITER ;;
CREATE FUNCTION ...
BEGIN
...;
...;
END
;;
-- 语句结束符
-- 恢复系统默认设置
DELIMITER ;
...
简单使用
- 货物表
- 代码
/*
- 货物id查询函数
- 通过输入货物名查询货物id
*/
DELIMITER ;; #修改系统默认结束符
CREATE FUNCTION c_ty_id_fun(ctn VARCHAR(8)) #定义函数名(c_ty_id_fun)及参数列表
RETURNS INT #定义返回值类型
BEGIN #开始
DECLARE cti INT; #自定义变量
SELECT c_ty_id FROM com_type WHERE c_ty_name=ctn INTO cti; 将查询的值付给自定义变量
RETURN cti; #返回自定义变量
END;; #结束,注意使用系统默认结束符号
DELIMITER ; #修改系统默认结束符为初始结束符`;`
- 调用结果
#调用刚才定义的函数
SELECT c_ty_id_fun("服装")