mysql中创建用户自定义函数
发表于:2025-01-21 作者:千家信息网编辑
千家信息网最后更新 2025年01月21日,总有一些复杂的逻辑我们还需要多处使用,此时就显现出函数的重要性。mysql函数的要素函数名参数列表函数体返回值定义语法create function fun_name(参数列表)returns 返回值
千家信息网最后更新 2025年01月21日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安全错误
数据库的锁怎样保障安全
天水市网络安全教育平台登录口
滴滴云服务器是什么意思
网络技术有限公司销售什么
云服务器选择推荐
pppoe服务器 安全性
从事软件开发考证
数据库探秘全集
上海服务器供应商
蜂助手网络技术股份
员工信息管理数据库分析
软件开发安全质量管理
推广信用卡网络技术
芜湖软件开发技术项目实训中心
登陆文件服务器
怎么看数据库的备份路径
直销软件开发语
服务器ip是干嘛的
烽火服务器管理口配置
db2数据库有什么数据类型
东莞市有品网络技术有限公司
ns韩国服务器
面试怎么去表达软件开发
吴忠市网络安全应急
中石油网络安全客户端
教师网络安全培训会新闻报道
网络安全体系有三个概念
南方网网络技术开发
软件开发师的长期目标
信息技术网络安全知识
印萌自助打印服务器