- 内部的变量在其作用域范围内享有更高的优先权,当执行到end时,由于处于作用域之外,所以变量消失
- 通过下面的代码进行说明
mysql> DELIMITER // mysql> create procedure proc3() -> begin -> declare x1 varchar(5) default 'outer'; -> begin -> declare x1 varchar(5) default 'inner'; -> select x1; -> end; -> select x1; -> end; -> // mysql> DELIMITER ;
mysql> call proc3(); +-------+ | x1 | +-------+ | inner | +-------+ 1 row in set +-------+ | x1 | +-------+ | outer | +-------+ 1 row in set
第一次输出的x1值为inner,第二次输出的值为outer,因为此时执行到了end, ‘inner’变量消失
从零开始写MySql存储过程(二)存储过程中的变量作用域问题
猜你喜欢
转载自blog.csdn.net/qq_36437446/article/details/80043778
今日推荐
周排行