VB.net 2010 视频教程 VB.net 2010 视频教程 python基础视频教程
SQL Server 2008 视频教程 c#入门经典教程 Visual Basic从门到精通视频教程
当前位置:
首页 > 数据库 > T-SQL >
  • sql语句大全之变量

变量
T-SQL语言中有两种形式的变量,一种是用户自己定义的局部变量,另外一种是系统提供的全局变量。
1. 局部变量
局部变量的作用范围仅限制在程序内部。局部变量被引用时要在其名称前加上标志“@”,而且必须先用DECLARE命令定义后才可以使用。  
定义局部变量的语法形式如下:
DECLAER {@local_variable   data_type} […n]
其中,参数@local_variable用于指定局部变量的名称,
参数data_type用于设置局部变量的数据类型及其大小.data_type可以是任何由系统提供的或用户定义的数据类型。但是,局部变量不能是 text,ntext 或 image 数据类型。
使用DECLARE命令声明并创建局部变量之后,会将其初始值设为NULL,如果想要设定局部变量的值,必须使用SELECT命令或者SET命令。其语法形式为:
 SET  { @local_variable = expression }  
或者
SELECT { @local_variable = expression } [ ,...n ]
其中,参数@local_variable是给其赋值并声明的局部变量,参数expression是任何有效的SQL Server表达式。
例7-2 创建一个@myvar 变量,然后将一个字符串值放在变量中,最后输出 @myvar 变量的值。
     程序清单如下:
     DECLARE @myvar  char(20)
     select  @myvar = 'This is a test'
     SELECT @myvar
     GO
例7-3 通过查询给变量赋值。
     程序清单如下:
     USE test
     GO
     DECLARE @rows int
     SET @rows = (SELECT COUNT(*)  FROM  sc)
2. 全局变量
除了局部变量之外,SQL Server系统本身还提供了一些全局变量。全局变量是SQL Server系统内部使用的变量,其作用范围并不仅仅局限于某一程序,而是任何程序均可以随时调用。全局变量通常存储一些SQL Server的配置设定值和统计数据。用户可以在程序中用全局变量来测试系统的设定值或者是T-SQL命令执行后的状态值。在使用全局变量时应该注意以下几点:
(1)全局变量不是由用户的程序定义的,它们是在服务器级定义的。
(2)用户只能使用预先定义的全局变量。
(3)引用全局变量时,必须以标记符“@@”开头。
(4)局部变量的名称不能与全局变量的名称相同,否则会在应用程序中出现不可预测的结果。
例7-4 显示到当前日期和时间为止试图登录SQL Server的次数。
   程序清单如下:
   SELECT GETDATE( )  AS  '当前的时期和时间',
   @@CONNECTIONS AS  '试图登录的次数'

相关教程