MySQL存储过程中的变量范围是什么意思?

2023年 8月 26日 16.6k 0

MySQL存储过程中的变量范围是什么意思?

mysql> Create Procedure Scope_variables()
-> BEGIN
-> DECLARE A Varchar(5) Default 'outer';
-> BEGIN
-> DECLARE A Varchar(5) Default 'inner';
-> SELECT A;
-> END;
-> SELECT A;
-> END;
-> //
Query OK, 0 rows affected (0.08 sec)

在上面的过程中,我们有两个同名的变量,即 A。这里,只要内部变量声明在作用域内,它就优先。要点是,当到达第一个 END 时,内部变量消失,称为“超出范围”。要理解这个概念,请按如下方式调用此过程 -

mysql> CALL Scope_variables();
+-------+
| A |
+-------+
| inner |
+-------+
1 row in set (0.00 sec)

+-------+
| A |
+-------+
| outer |
+-------+
1 row in set (0.00 sec)

Query OK, 0 rows affected (0.01 sec)

登录后复制

以上就是MySQL存储过程中的变量范围是什么意思?的详细内容,更多请关注每日运维网(www.mryunwei.com)其它相关文章!

相关文章

Oracle如何使用授予和撤销权限的语法和示例
Awesome Project: 探索 MatrixOrigin 云原生分布式数据库
下载丨66页PDF,云和恩墨技术通讯(2024年7月刊)
社区版oceanbase安装
Oracle 导出CSV工具-sqluldr2
ETL数据集成丨快速将MySQL数据迁移至Doris数据库

发布评论