mysql中创建用户自定义函数
发表于:2024-11-17 作者:千家信息网编辑
千家信息网最后更新 2024年11月17日,总有一些复杂的逻辑我们还需要多处使用,此时就显现出函数的重要性。mysql函数的要素函数名参数列表函数体返回值定义语法create function fun_name(参数列表)returns 返回值
千家信息网最后更新 2024年11月17日mysql中创建用户自定义函数
总有一些复杂的逻辑我们还需要多处使用,此时就显现出函数的重要性。
mysql函数的要素
- 函数名
- 参数列表
- 函数体
- 返回值
定义语法
create function fun_name(参数列表)returns 返回值类型函数体
示例
不带参数
delimiter $$create function sayhello() returns varchar(20)beginreturn 'hello';end$$ delimiter ;
调用示例:
select sayhello();
sayhello() |
---|
hello |
带参数(参数需要标明数据类型)
delimiter $$ create function sayHelloToSomeOne(name varchar(20)) returns varchar(25) begin set @str = concat('hello ',name); return @str; end $$ delimiter ;
调用示例:
select sayHelloToSomeOne('Dany');
sayHelloToSomeOne('Dany') |
---|
hello Dany |
函数调用过后我们验证一下@str变量是否依然可以访问。
select @str;
@str |
---|
hello Dany |
@str依然可用,说明@str的作用域是全局的。
带多个参数
多个参数用逗号 , 分隔。
函数中的局部变量
- 参数(勉强认为是局部变量),因为参数传递进来只能在函数内部使用。
- declare 定义局部变量
之前研究过以@开头的变量是全局变量,因为即使是在函数内部定义的变量例如:@aa ,在调用过函数后,@aa的值在外部我们依然可以得到,这就很明显的告诉我们,@aa是全局变量。
全局变量容易引发变量污染,所以我们需要局部变量,来保证程序独立。declare就是为了解决这一问题。
语法:
DECLARE var_name [, var_name] ... type [DEFAULT value];
例如:
delimiter $$ create function sayHelloToSomeOneVarLocal(name varchar(20)) returns varchar(30) begin declare str varchar(30); set str = concat('hello ',name); return str; end $$ delimiter ;
select sayHelloToSomeOneVarLocal('xiaogang');
sayHelloToSomeOneVarLocal('xiaogang') |
---|
hello xiaogang |
函数调用之后我们再试图去访问变量str,会报错。
变量
函数
参数
全局
局部
示例
多个
类型
语法
复杂
明显
重要
作用
就是
开头
数据
是在
程序
要素
过后
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
网信小课堂网络安全基础知识
顺德职业学院软件开发专业
青岛下蛋公鸡网络技术
网络安全对学生宣传
丰成网络技术公司
国家网络安全维护的思考
cmd命令怎么打开数据库
对网络安全宣传周活动的认识
骑砍2服务器登录失败
解放军的网络安全保密规定
有趣的服务器指令
传送网络技术
网络安全小卫士
数据库设计证书
eshop 服务器设置
重庆网络技术专科工资待遇
网络安全教育2019主题
网络安全知识20字左右
金梦网络技术有限公司
obs怎么从服务器下载视频
关系型数据库推荐
服务器资料备份软件
快递软件开发流程图
python数据库登录
代理服务器的端口
网络安全手抄报三年级字少
不属于网络安全的三要素
服务器防火墙系统
杭州百颂网络技术
求生之路联机一直服务器已满