标签
SQL Server
Redis
MySQL
其它
Oracle
外部链接
SQL Server T-SQL 语言元素中 DECLARE 定义变量作用域

示例:

WHILE (1 > 0)
BEGIN
  DECLARE @i BIGINT
  IF @i is null
    SET @i = 1
  PRINT @i
  SET @i = @i + 1
  IF @i > 10
    BREAK
END

结果:1,2,3,4,5,6,7,8,9,10

从上面示例的结果中可以看出,在循环体中去重新DECLARE声明变量@i是不会重置@i为NULL的还延续这上次执行的结果,这里变量的声明和C#是有区别的,SQL的变量作用域是本次执行的全过程,比如在一个存储过程中执行多条语句,声明的变量在这个存储过程中都是有效的,只有使用SET,SELECT去主动赋值才能发生变化.

扫一扫手机看
点击排行
订阅号
...