(1)局部变量
A.TSQL局部变量:是可以保存特定类型的单个数据值的对象。一般说来在一个批处理中被声明、定义,在这
   个批处理(也可能是存储过程或触发器)中用SQL语言对这个变量赋值,或使用这个变量已经被赋予的值。
   当批处理结束后,这个局部变量的生命周期就结束了。
   作用:作为计数器在循环中使用;作为返回值;保存临时数据等;
B.声明局部变量:
   格式: Declare  @变量名1  数据类型,@变量名2 数据类型……
   说明:Declare的使用:
  (1)指派名称:第一个字符必为@+变量名;
  (2)指派系统提供或用户定义的数据类型和长度;
  (3)将值设置为NULL;
   示例:Declare @myCount  int
C.给变量赋值:
   Set 语句:如Set @myCount=100
   Select语句:如 Select @myCount=100
综合示例
User Pubs
Go
Declare @find varchar(30)
Set @find=’Ring%’
Select au_lname,au_fname,phone
From authors
Where au_lname like @find
(2)全局变量
A)全局变量:变量名前用@@表示;在SQLServer7.0及以后的版本中,全局变量作为函数据形式被使用;
B)一共30多个对于一般的用户来说,一般不用全局变量;
C)SQLServer提供的系统全局变量不用声明直接使用
使用:也可声明自定义的全局变量(类似局部变量);
常用全局变量如下
@@CONNECTIONS : 返回自上次启动SQL Server以来连接或试图连接的次数,用其可让管理人员方便地了解今天所有试图连接服务器的次数。
@@DATEFIRST : 返回使用SET DATEFIRST命令而被赋值的DATAFIRST参数值。SET DATEFIRST命令用来指定每周的第一天是星期几。
@@SERVICENAME   : 返回SQL Server正运行于哪种服务状态之下:如 MS SQLServer、MSDTC、SQLServerAgent。
@@TEXTSIZE : 返回SET语句的TEXTSIZE选项值SET语句定义了SELECT语句中text或p_w_picpath。数据类型的最大长度基本单位为字节。
@@ROWCOUNT : 返回受上一语句影响的行数,任何不返回行的语句将这一变量设置为0。
@@IDLE : 返回自SQL Server最近一次启动以来CPU处于空闭状态的时间长短,单位为毫秒。
@@IO_BUSY : 返回自SQL Server最后一次启动以来CPU执行输入输出操作所花费的时间(毫秒)。
@@CPU_BUSY : 返回自SQL Server最近一次启动以来CPU的工作时间其单位为毫秒。
@@DBTS : 返回当前数据库的时间戳值必须保证数据库中时间戳的值是惟一的。
@@CURSOR_ROWS : 返回最后连接上并打开的游标中当前存在的合格行的数量。
@@REMSERVER : 返回登录记录中记载的远程SQL Server服务器的名称。
@@VERSION : 返回SQL Server当前安装的日期、版本和处理器类型。
@@MAX_CONNECTIONS : 返回允许连接到SQL Server的最大连接数目。
@@PACK_RECEIVED : 返回SQL Server通过网络读取的输入包的数目。
@@NESTLEVEL : 返回当前执行的存储过程的嵌套级数,初始值为0。
@@LOCK_TIMEOUT: 返回当前会话等待锁的时间长短其单位为毫秒。
@@MAX_PRECISION : 返回decimal 和 numeric数据类型的精确度。
@@SERVERNAME: 返回运行SQL Server 2000本地服务器的名称。
@@PACK_SENT : 返回SQL Server写给网络的输出包的数目。
@@ERROR : 返回最后执行的Transact-SQL语句的错误代码。
@@TRANCOUNT : 返回当前连接中处于激活状态的事务数目。
@@FETCH_STATUS : 返回上一次FETCH语句的状态值。
@@SPID : 返回当前用户处理的服务器处理ID值。
@@IDENTITY : 返回最后插入行的标识列的列值。
@@PACKET_ERRORS : 返回网络包的错误数目。
@@TOTAL_ERRORS : 返回磁盘读写错误数目。
@@TOTAL_WRITE : 返回磁盘写操作的数目。
@@LANGID : 返回当前所使用的语言ID值。
@@LANGUAGE : 返回当前使用的语言名称。
@@TOTAL_READ : 返回磁盘读操作的数目。
@@TIMETICKS : 返回每一时钟的微秒数。
@@OPTIONS : 返回当前SET选项的信息。
@@PROCID : 返回当前存储过程的ID值。