数据在内存中存储可以变化的量叫做变量。为了在内存中存储信息,用户必须指定存储信息的单元,并为该存储单元命名,以方便获取信息,这就是变量的功能。T_SQL中有两种变量,一个是局部变量,另一个是全局变量。局部变量和全局变量的区别是存储的数据作用范围不一样。
局部变量是用户可自定义的变量,它的作用范围只在程序内部。局部变量的名称是用户自定义的,根据sql sever命名规则,局部变量名必须以“@”开头。
1.声明局部变量
使用DECLARE语句。
DECLARE
{
@varaible_name datatype [ ,…n ]
}
@varaible_name是变量名,必须以“@”开头,另外变量名的形式必须符合sql sever标识符的命名方式。
datatype 局部变量使用的数据类型。
2.为局部变量赋值
为局部变量赋值的方式一般有两种,一种是使用select语句,另一种是使用set语句。使用select语句赋值语句如下:
select @varaible_name = expression [ from table_name [ ,…n]] where clause ]
上面的select语句是为了给变量赋值,而不是为了从表中查询出数据。而且在使用select语句进行赋值过程中,并不一定非要使用from关键字和where子句。
另一种为局部变量赋值的方式是用sel语句。
{ set @varaible_name = expression} [ ,…n]
还可以为多个变量一起赋值。
DECLARE @a int, @b int, @c char(10)
select @a=1, @b=2, @c=‘love’
3.全局变量
全局变量是sql sever系统内部事先定义好的变量,不用用户参与定义,对用户而言,其作用范围并不局限于某一程序,而是任意程序都可随意调用。