存储变量发生作用的范围有多广?

 我来答
北京理工大学出版社
2020-01-01 · 德以明理,学以精工。
北京理工大学出版社
向TA提问
展开全部

变量作用域,也就是变量发生作用的范围。会话变量,存在于客户端的当次会话中,当客户端关闭时,此变量也就消失,因此会话变量的作用域为单个客户端整个会话。存储过程变量为数据库服务器上的变量,存储在服务器中,但其作用域并不能认为是整个数据库服务器。

存储过程变量作用域的认定按下面三个步骤进行:((1)从变量所在位置开始,往上回溯,从最靠近变量的第一个begin开始。

(2)往下延伸,找到与上面begin匹配的end结束。

(3)内部变量比外部变量在其作用域范围内享有更高的优先权。

下面举例说明存储过程变量作用域的范围,在这个存储过程案例中可以看到:((1)第4行代码声明了一个存储过程变量“x1”,其作用域为第3行代码的begin开始,到第10行代码的end结束,此变量值为“outer”。

(2)第6行代码声明了另一个存储过程变量“x1”,其作用域为第5行代码的begin开始,到第8行代码的end结束,此变量值为“inner”。

(3)第4行代码声明的“x1”为外部变量,第6行代码声明的“x1”为内部变量,在第7行代码中,取得的“x1”应为内部变量的值,即取得“inner”值,因内部变量的优先级比外部变量的优先级高;在第9行代码中,取得的“x1”应为外部变量的值,即取得“outer”值。如下图表

变量表

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式