Level 10 变量和循环

1. 变量

1.1 变量是什么

变量是保存特定类型的单个值的对象,例如整数,日期或变化的字符串。通常在以下情况下使用变量:

  • 作为循环计数器来计算循环执行的次数。

  • 保持要通过控制流语句(如WHILE)进行测试的值。

  • 存储函数或存储过程返回的值。

此外,变量分为局部变量和全局变量

局部变量是用户可自定义的变量,它的作用范围仅在程序内部。局部变量的名称是用户自定义的,命名的局部变量名要符合SQL标识符命名规则,局部变量名必须以@开头。

而全局变量是系统预定义的,返回一些系统信息,全局变量以两个@开头即(@@)开头。

1.2 变量的使用

1.2.1 局部变量声明

要声明变量,请使用DECLARE语句。

语法

DECLARE { @LOCAL_VARIABLE_NAME DataType [ = value ] }

其中 LOCAL_VARIABLE_NAME 为局部变量的名称,DataType为数据类型。

例如,以下语句声明了一个名为@SEL_TYPE的变量,变量类型为char ,长度为2

1.2.2 局部变量赋值

语法

两者的区别:SET赋值语句一般用于赋给变量一个指定的常量,SELECT赋值语句一般用于从表中查询出数据然后赋给变量。

1.2.3 局部变量实例

声明局部变量count,并赋值123

声明局部变量retCount,从TableA中将Returned值为0的数据个数赋值给变量retCount

1.2.4 全局变量的声明和实例

1.2.4.1 全局变量的声明

由于全局变量是系统定义的,比如SQL SERVER有如下全局变量

1.2.4.2 全局变量实例

2. FOR循环

在SQL中,我们并没有FOR循环,但是我们可以使用WHILE循环模拟FOR循环从而实现功能

语法

其中,cnt_total记录了你希望循环执行的总次数,变量cnt记录了当前步骤为循环从0开始的执行第几轮循环

2.1 FOR实例

Last updated