MySQL数据库8(二十五)变量作用域

变量作用域

变量作用域:变量能够使用的区域范围

局部作用域

使用declare关键字声明(在结构体内:函数/存储过程/触发器),而且只能在结构体内部使用。

declare关键字声明的变量没有任何符号修饰,就是普通字符串,如果在外部能够访问该变量,系统会自动认为是字段。

会话作用域

用户定义的:使用@符号定义的变量,使用set关键字。

会话作用域:在当前用户当次连接有效,只要在本连接之中,任何地方都可以使用(可以在结构内部,也可以跨库)

会话变量可以在函数内部使用

 

会话变量可以跨库

 

 

全局作用域

所有的客户端所有的连接都有效,需要使用全局符号来定义

set global 变量名 = 值;

set @@global.变量名 = 值;

通常在SQL编程的时候,不会使用自定义变量来控制全局。一般都是定义会话变量或者在结构中使用局部变量来解决问题。

posted @   LionelYee  阅读(1593)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
点击右上角即可分享
微信分享提示