Skip to content

概述

会话变量存在于会话环境中,即连接的控制变量区中,各个连接拥有的会话变量的名称相同,但各会话都有会话变量的独立拷贝,它们可以具有与别的会话的同名变量不相同的取值,会话变量对于与该会话关联的事务的行为方式具有重要影响,修改会话变量的值,即可影响该连接下事务处理的行为方式。

在会话(即连接)刚创建时,该会话环境中的会话变量也同时创建,而且系统将为它们设置默认值。在会话创建后,客户端可以发送命令修改会话变量,使该连接下的事务按照用户需要的方式执行,会话变量中有一些为预定义的,其它的则是在会话过程中动态创建的。

会话环境中的会话变量分为全局会话变量和局部会话变量。全局指的是连接到数据库的所有会话都遵循的变量设置,局部指的是当前会话遵循当前会话变量设置。比如SET error_level TO 3为全局变量设置,SET auto_commit ON为局部变量设置。

全局变量的设置一般都是由系统管理员进行,普通用户没有权限设置全局变量。