1.全局变量
定义:以@@开头,后面跟相应的字符串
如: @@version
由于全局变量是系统定义的,一般只是查询。
@@ERROR 最后一个T-SQL错误的错误号
@@IDENTITY 最后一次插入的标识值
@@LANGUAGE 当前使用的语言名称
@@MAX_CONNECTIONS 可以创建的同时连接的最大数目
@@SERVERNAME 本地服务器的名称
@@VERSION SQL Server的版本信息
使用全局变量时应该注意以下几点:
①全局变量不是由用户的程序定义的,它们是在服务器级定义的。
②用户只能使用预先定义的全局变量。
③引用全局变量时,必须以标记符“@@”开头。
④局部变量的名称不能与全局变量的名称相同,否则会在应用程序中出现不可预测的结果。
2.局部变量
定义:
- DECLARE @variable1 data_type[@variable2 data_type]
- 其中:
@variable1、@variable2为局部变量名,必须以@开头
data_type 是数据类型,可以是系统类型,也可以是用户定义的类型
给局部变量赋值有两种方法:
1、SET @variable_name=value
2、SELECT @variable_name=value
两者的区别:SET赋值语句一般用于赋给变量一个指定的常量,SELECT赋值语句一般用于从表中查询出数据然后赋给变量。
例如:
同时定义三个变量
DECLARE @test1 VARCHAR(100),
@test2 VARCHAR(100),
@test3 VARCHAR(100)
这样定义的变量自动赋值为 null
变量的赋值举例:
1. 使用 set
set @test1 = '测试'
- 同时给三个变量赋值:
set @test1 = '测试',
set @test12= '测试'2,
set @test3 = '测试3'
- SQL server不允许连续赋值
即:set @test1 = '测试'@test12= '测试'2 @test3 = '测试3' 这种是错误的
2.使用 select
- 可以将查询结果赋值给变量。如果查询结果返回多个值,则将最后一个赋值给变量。
语法:SELECT @variable1 = VALUE1 [@variable2 = VALUE2] where ...........
select @test1 = s_no, @test2 = s_id
from student
where s_name = '张三'
网友评论