Mysql自定义函数的使用与踩坑

自定义函数的创建

基本语法

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("服装")  

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值