mysql中创建用户自定义函数
发表于:2025-02-23 作者:千家信息网编辑
千家信息网最后更新 2025年02月23日,总有一些复杂的逻辑我们还需要多处使用,此时就显现出函数的重要性。mysql函数的要素函数名参数列表函数体返回值定义语法create function fun_name(参数列表)returns 返回值
千家信息网最后更新 2025年02月23日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安全错误
数据库的锁怎样保障安全
事业单位软件开发试题
教师进修学校网络安全工作计划
系统管理中如何修改服务器名
简述网络安全有哪些特征
360网络安全难进吗
防范网络安全风险知识宣传
科网络技术有限公司
租服务器安全不
软件开发企业分包税收优惠
服务器出错图片
小米 媒体服务器耗电
oa软件开发公司需要多少
通信软件开发国家标准
小程序云数据库模糊查询原理
租个游戏服务器
服装电商app软件开发平台作用
万达医疗系统软件开发
简单点网络安全手抄报
怎么传递手机数据库
防范网络安全画
数据库 查询所有班主任是马龙
网络安全后的陪伴计划
快讯2019年网络安全周
深渊服务器的私钥密码
大学网络安全班会内容
通信软件开发国家标准
学校网络安全检查表格
现代网络技术与运营管理
服务器脚本语言怎么使用
服务器运维简历