【MySQL8.0】解决函数体function不能使用declare什么变量

更新时间:2023-06-08 08:38:08 阅读: 评论:0

【MySQL8.0】解决函数体function不能使⽤declare什么变量使⽤Deterministic
确定性函数⽤关键词Deterministic标识,表⽰函数的返回值完全由输⼊参数决定。
确定性函数有以下⽤处:
1. 可以在基于函数的索引中使⽤该函数;
2. 可以在物化视图中调⽤;
3. Oracle11g开始会对其参数及其返回结果进⾏缓存处理以提升性能。
但是,是不是⼀个确定性函数是需要⽤户来负责的,就是说对函数进⾏编译的时候不会检查出这个函数是否是确定性的。版本:mysql8.0
前置代码:
男士皮肤DELIMITER $
create function fun_sumscores()returns int
疫情复工begin
declare c int;
SELECT avg(score)from score into c;男生微信名字霸气
暗笑return c;可爱的小天使>桃花怎么形容
END $
报错信息如下:
↑可以看到有⼀个关键词determinitic,该函数便是确定性函数。
代码如下:
马明月delimiter $$
create function func()returns int deterministic
begin
declare c int;
智商是天生的吗
lect avg(score)from into c;
return c;
end$$
delimiter;
运⾏结果如下:
⾄此,成功实现了函数的定义。

本文发布于:2023-06-08 08:38:08,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/82/901195.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:函数   确定性   参数   桃花   缓存
相关文章
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图